3 种生成高强度密码的方法

简介: 在生活中,我们需要用到大量的密码,这些密码最好不要统一,否则万一泄漏的话,所有账号都暴露在风险之下。而在工作中,我们同样也需要用到大量密码,比如批量添加用户,批量设置服务器密码等。

在生活中,我们需要用到大量的密码,这些密码最好不要统一,否则万一泄漏的话,所有账号都暴露在风险之下。而在工作中,我们同样也需要用到大量密码,比如批量添加用户,批量设置服务器密码等。

如果靠自己去想的话,想到的密码可以不够强大,而且比较费力。下面良许就介绍 3 种方法来批量生成高强度的密码。

所谓的高强度密码,就是包含了大小写、数字、符号的密码。

1. pwgen

pwgen 的特点是可以生成一些能够被人类记住,并且也足够安全的密码。但是,如果你想生成不容易记住的随机密码,只需加上 -s 选项即可。

1.1 pwgen 的安装

对于 Debian/Ubuntu 系统,直接使用 apt-get 命令即可安装。

$ sudo apt install pwgen

对于 RHEL/CentOS 系统,可以使用 yum 命令安装。

$ sudo yum install pwgen

其它系统可以使用对应的安装命令,在此不赘述。

1.2 pwgen 的用法

pwgen 最简单的用法是直接敲入这个命令,不带任何参数就可以生成 160 个密码。默认情况下,它生成的密码是易于人类记住的密码,8 个字符,包含大小写及数字。

一共 160 个,分成 20 行 8列。限于篇幅,以下结果做了缩减。

$ pwgen
ameiK2oo aibi3Cha EPium0Ie aisoh1Ee Nidee9ae uNga0Bee uPh9ieM1 ahn1ooNg
oc5ooTea tai7eKid tae2yieS hiecaiR8 wohY2Ohk Uab2maed heC4aXoh Ob6Nieso
…………
ahV4yore ue2laePh fu1eThui qui7aePh Fahth1nu ohk9puLo aiBeez0b Neengai5

如果你想生成 5 个 14 个字符长度的密码,那么可以使用以下命令:

$ pwgen -s 14 5
7YxUwDyfxGVTYD em2NT6FceXjPfT u8jlrljbrclcTi IruIX3Xu0TFXRr X8M9cB6wKNot1e

如果你想生成超级难记,超级安全的密码,可以加上 -cnys 选项,使用以下格式:

$ pwgen -cnys 14 20
mQ3E=vfGfZ,5[B #zmj{i5|ZS){jg Ht_8i7OqJ%N`~2 443fa5iJ\W-L?] ?Qs$o=vz2vgQBR
^'Ry0Az|J9p2+0 t2oA/n7U_'|QRx EsX*%_(4./QCRJ ACr-,8yF9&eM[* !Xz1C'bw?tv50o
8hfv-fK(VxwQGS q!qj?sD7Xmkb7^ N#Zp\_Y2kr%!)~ 4*pwYs{bq]Hh&Y |4u=-Q1!jS~8=;
]{$N#FPX1L2B{h I|01fcK.z?QTz" l~]JD_,W%5bp.E +i2=D3;BQ}p+$I n.a3,.D3VQ3~&i

2. openssl

openssl 命令是调用 OpenSSL 的一些库中的各种密码学函数来生成密码,强度也相对比较高。

我们可以使用以下命令格式来生成一个 14 位的随机密码:

$ openssl rand -base64 14
WjzyDqdkWf3e53tJw/c=

但是,这样一条命令只能生成一个密码,如果想要批量生成密码,就要写一个简单的 Shell 语句。

$ for pw in {1..4}; do openssl rand -base64 14; done
6i0hgHDBi3ohZ9Mil8I=
gtn+y1bVFJFanpJqWaA=
rYu+wy+0nwLf5lk7TBA=
xrdNGykIzxaKDiLF2Bw=

3. gpg

1991年,程序员 Phil Zimmermann 为了避开政府监视,开发了加密软件 PGP。这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。但是,它是商业软件,不能自由使用。所以,自由软件基金会决定,开发一个PGP的替代品,取名为 GnuPG

我们可以使用以下格式来生成一个随机的 14 位高强度密码。

$ gpg --gen-random --armor 1 14
or
$ gpg2 --gen-random --armor 1 14
jq1mtY4gBa6gIuJrggM=

同样地,如果这个命令只能生成一个密码,如果要生成多个,那就需要写一个简单的 Shell 语句。

$ for pw in {1..4}; do gpg --gen-random --armor 1 14; done
or
$ for pw in {1..4}; do gpg2 --gen-random --armor 1 14; done
F5ZzLSUMet2kefG6Ssc=
8hh7BFNs8Qu0cnrvHrY=
B+PEt28CosR5xO05/sQ=
m21bfx6UG1cBDzVGKcE=

4. 小结

一个强大的密码是保证我们账号安全的第一步,重要性不容小觑。本文介绍了 3 种方法随机生成高强度密码,但还有很多工具还可以生成这样的密码,比如 makepasswdmkpasswd 等。大家平常都是怎么生成密码的?欢迎留言讨论!

目录
相关文章
|
4月前
|
存储 安全 Java
面试题:用户输入密码后,有哪些对密码的保护措施
面试题:用户输入密码后,有哪些对密码的保护措施
19 0
|
23天前
|
算法 安全 程序员
详解 DES加密技术 | 凯撒密码 | 栅栏密码
详解 DES加密技术 | 凯撒密码 | 栅栏密码
109 0
|
10月前
|
存储 安全 数据库
你的密码安全吗?这三种破解方法让你大开眼界!
密码破解,是黑客们最喜欢的玩具之一。当你用“123456”这类简单密码来保护你的账户时,就像裸奔一样,等待着黑客的攻击。所以,今天我们就来聊聊密码破解知识,看看那些常见的密码破解方法,以及如何防范它们。
627 0
你的密码安全吗?这三种破解方法让你大开眼界!
|
11月前
|
存储 安全 网络安全
《网络安全0-100》口令机制
《网络安全0-100》口令机制
108 0
|
存储 算法 安全
|
安全 数据安全/隐私保护
弱密码检测又没过?教你一键设置高强度随机密码
有时候为了简单,总喜欢设置123456的弱密码,但是这种密码过于简单,不太安全。
139 0
|
数据安全/隐私保护
一次性密码本-绝对不会被破译的密码
一次性密码本-绝对不会被破译的密码
|
存储 数据安全/隐私保护 芯片