1. 在 Linux 中使用 OpenSSL 来生成一个高强度密码
在所有的类 Unix 发行版、Solaris、Mac OS X 和 Windows 中都用openssl这个工具
要使用 OpenSSL 生成一个随机密码,打开终端并运行下面的命令:
- openssl rand -base64
上面的"-base64"参数将确保生成的密码可以被键盘敲出来。
输出样例:
- wXCHXlxuhrFrFMQLqik
上面的命令将生成一个随机的、长度为 14 个字符的高强度密码。我们强烈推荐你生成 14 个字符的密码。 当然你可以使用 OpenSSL 生成任意长度的密码。
要了解更多信息,可以参考联机手册:
- man openssl
2. 在 Linux 中使用 Pwgen 来生成一个高强度密码
pwgen 是一个简单却非常有用的命令行工具,用它可以在短时间内生成一个随机且高强度的密码。它设计出的安全密码可以被人们更容易地记住。在大多数的类 Unix 系统中都可以获取到它。
在基于 DEB 的系统中安装 pwgen 请运行:
- sudo apt-get install pwgen
在基于 RPM 的系统中,运行:
- yum install pwgen
在基于 Arch 的系统中,则运行:
- sudo pacman -S pwgen
pwgen 安装完成后,便可以使用下面的命令来生成一个长度为 14 个字符的随机高强度密码:
- pwgen 14 1
输出样例:
- Choo4aicozai3a
上面的命令将生成一个 14 位字符长的密码,如果要生成两个不同的 14 位字符长的密码,则可以运行:
- pwgen 14 2
- xee7seerez6Kau Aeshu0geveeji8
如果要生成 100 个(尽管可能没有必要生成那么多)不同的 14 位字符长的密码,则可以运行:
- pwgen 14
输出样例:
- pwgen 14 100
输出样例:
- kaeNg3EiVei4ei Oo0iehiJaix5Ae aenuv2eree2Quo iaT7zahH1eN2Aj Bie2owaiFahsie
- gaan9zu5Xeh5ah ahGeeth8ea5ooh Ir0ueda5poogh5 uo0ohqu2ufaiX2 Mei0pee6Og3zae
- Oofeiceer8Aipu sheew3aeReidir Dee4Heib2eim2o eig6jar8giPhae Zahde9nae1Niew
- quatol5Oi3Bah2 quue4eebaiNgaa oGoahieSh5oL4m aequeeQue2piti laige5seePhugo
- iiGo9Uthee4ros WievaiQu2xech6 shaeve0maaK3ae ool8Pai2eighis EPheiRiet1ohci
- ZieX9outhoht8N Uh1UoPhah2Thee reaGhohZae5idi oiG4ooshiyi5in keePh1ohshei8y
- aim5Eevah2thah Xaej8tha5eisho IeGie1Anaalaev gaoY3ohthooh3x chaebeesahTh8e
- soh7oosieY5eiD ahmoh6Ihii6que Shoowoo5dahbah ieW0aiChubee7I Caet6aikai6aex
- coo1du2Re9aika Ohnei5Egoh7leV aiyie6Ahdeipho EiV0aeToeth1da iNgaesu4eeyu0S
- Eeb1suoV3naera railai2Vaina8u xu3OhVee1reeyu Og0eavae3oohoh audahneihaeK8a
- foo6iechi5Eira oXeixoh6EwuboD we1eiDahNgoh9s ko1Eeju1iedu1z aeP7achiisohr7
- phang5caeGei5j ait4Shuo5Aitai no4eis9Tohd8oh Quiet6oTaaQuei Dei2pu2NaefeCa
- Shiim9quiuy0ku yiewooph3thieL thu8Aphai1ieDa Phahnahch1Aam1 oocex7Yaith8oo
- eraiGaech5ahNg neixa3malif5Ya Eux7chah8ahXix eex1lahXae4Mei uGhahzonu6airu
- yah8uWahn3jeiW Yi4ye4Choongie io1Vo3aiQuahpi rie4Rucheet6ae Dohbieyaeleis5
- xi1Zaushohbei7 jeeb9EiSiech0u eewo0Oow7ielie aiquooZamah5th kouj7Jaivohx9o
- biyeeshesaDi9e she9ooj3zuw6Ah Eit7dei1Yei5la xohN0aeSheipaa Eeg9Phob6neema
- eengoneo4saeL4 aeghi4feephu6W eiWash2Vie1mee chieceish5ioPe ool4Hongo7ef1o
- jahBe1pui9thou eeV2choohoa4ee Ohmae0eef4ic8I Eet0deiyohdiew Ke9ue5thohzei3
- aiyoxeiva8Maih gieRahgh8anahM ve2ath9Eyi5iet quohg6ok3Ahgee theingaech5Nef
如果要在密码中包含至少 1 个数字,则可以运行:
- pwgen 14 1 -n 1
输出样例:
- xoiFush3ceiPhe
另外,pwgen 命令还有一些很实用的选项:
- -c 或 --capitalize 在密码中包含至少一个大写字母
- -A 或 --no-capitalize 在密码中不包含大写字母
- -n 或 --numerals 在密码中包含至少一个数字
- -0 或 --no-numerals 在密码中不包含数字
- -y 或 --symbols 在密码中包含至少一个特殊字符
- -s 或 --secure 生成完全随机的密码
- -B 或 --ambiguous 在密码中不包含难于区分的字母,如 0 和 o、1 和 l
- -h 或 --help 输出帮助信息
- -H 或 --sha1=path/to/file[#seed] 使用某个给定文件的 sha1 哈希值来作为随机数的生成种子
- -C 按列输出生成好的密码
- -1 不按列输出生成好的密码
- -v 或 --no-vowels 不使用任何元音字母,以防止生成下流的词语 ```
若想了解更多信息,请查阅其联机手册:
- man pwgen
3. 在 Linux 中使用 GPG 来生成一个高强度密码
GPG (GnuPG 或 GNU Privacy Guard) 是一个自由开源的命令行程序,可以用于替代赛门铁克的 PGP 加密软件。在类 Unix 操作系统、Microsoft Windows 和 Android 中都可以获取到它。
要使用 PGP 生成 1 个长度为 14 个字符的高强度密码,请在终端中运行下面的命令:
- gpg --gen-random --armor 1 14
输出样例:
- DkmsrUy3klzzbIbavx8=
上面的命令将生成一个安全、随机、高强度且基于 base64 编码的密码。
4. 在 Linux 中使用 Perl 来生成一个高强度密码
Perl 在大多数 Linux 发行版本的默认软件仓库中都可以获取到,你可以使用相应的包管理器来安装它。
例如在基于 DEB 的系统中,可以运行下面的命令来安装 Perl:
- sudo apt-get install perl
在基于 RPM 的系统中安装 Perl,可以运行:
- sudo yum install perl
在基于 Arch 的系统中,则运行:
- sudo pacman -S perl
一旦 Perl 安装完成,使用下面的命令创建一个文件:
- vi password.pl
接着添加下面的内容到这个文件中:
- #!/usr/bin/perl
- my @alphanumeric = ('a'..'z', 'A'..'Z', 0..9);
- my $randpassword = join '', map $alphanumeric[rand @alphanumeric], 0..8;
- print "$randpassword\n"
保存并关闭该文件。
接着,切换到你刚才保存文件的地方,并运行下面的命令:
- perl password.pl
使用你自己定义的文件名来替换上面命令中的"password.pl"。
输出样例:
- 3V4CJJnYd