17

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

 3 years ago
source link: http://netsecurity.51cto.com/art/202006/618309.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

现在信息泄露越来越严重,而强大的密码是防止个人敏感信息泄露的第一步。

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

vyaUbqI.jpg!web

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

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

1. pwgen

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

(1) pwgen 的安装

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

$ sudo apt install pwgen 

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

$ sudo yum install pwgen 

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

(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 种方法随机生成高强度密码,但还有很多工具还可以生成这样的密码,比如 makepasswd ,mkpasswd等。

本文授权转载自公众号「良许Linux」。良许,世界500强外企Linux开发工程师,公众号里分享大量Linux干货,欢迎关注!

rmmyum6.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK