linux下生成高强度密码的四大神器

系统 Linux
Perl 在大多数 Linux 发行版本的默认软件仓库中都可以获取到,你可以使用相应的包管理器来安装它。

1. 在 Linux 中使用 OpenSSL 来生成一个高强度密码

在所有的类 Unix 发行版、Solaris、Mac OS X 和 Windows 中都用openssl这个工具

要使用 OpenSSL 生成一个随机密码,打开终端并运行下面的命令:

  1. openssl rand -base64 

上面的"-base64"参数将确保生成的密码可以被键盘敲出来。

输出样例:

  1. wXCHXlxuhrFrFMQLqik 

上面的命令将生成一个随机的、长度为 14 个字符的高强度密码。我们强烈推荐你生成 14 个字符的密码。 当然你可以使用 OpenSSL 生成任意长度的密码。

要了解更多信息,可以参考联机手册:

  1. man openssl 

2. 在 Linux 中使用 Pwgen 来生成一个高强度密码

pwgen 是一个简单却非常有用的命令行工具,用它可以在短时间内生成一个随机且高强度的密码。它设计出的安全密码可以被人们更容易地记住。在大多数的类 Unix 系统中都可以获取到它。

在基于 DEB 的系统中安装 pwgen 请运行:

  1. sudo apt-get install pwgen 

在基于 RPM 的系统中,运行:

  1. yum install pwgen 

在基于 Arch 的系统中,则运行:

  1. sudo pacman -S pwgen 

pwgen 安装完成后,便可以使用下面的命令来生成一个长度为 14 个字符的随机高强度密码:

  1. pwgen 14 1 

输出样例:

  1. Choo4aicozai3a 

上面的命令将生成一个 14 位字符长的密码,如果要生成两个不同的 14 位字符长的密码,则可以运行:

  1. pwgen 14 2 
  1. xee7seerez6Kau Aeshu0geveeji8 

如果要生成 100 个(尽管可能没有必要生成那么多)不同的 14 位字符长的密码,则可以运行:

  1. pwgen 14 

输出样例:

  1. pwgen 14 100 

输出样例:

  1. kaeNg3EiVei4ei Oo0iehiJaix5Ae aenuv2eree2Quo iaT7zahH1eN2Aj Bie2owaiFahsie 
  2. gaan9zu5Xeh5ah ahGeeth8ea5ooh Ir0ueda5poogh5 uo0ohqu2ufaiX2 Mei0pee6Og3zae 
  3. Oofeiceer8Aipu sheew3aeReidir Dee4Heib2eim2o eig6jar8giPhae Zahde9nae1Niew 
  4. quatol5Oi3Bah2 quue4eebaiNgaa oGoahieSh5oL4m aequeeQue2piti laige5seePhugo 
  5. iiGo9Uthee4ros WievaiQu2xech6 shaeve0maaK3ae ool8Pai2eighis EPheiRiet1ohci 
  6. ZieX9outhoht8N Uh1UoPhah2Thee reaGhohZae5idi oiG4ooshiyi5in keePh1ohshei8y 
  7. aim5Eevah2thah Xaej8tha5eisho IeGie1Anaalaev gaoY3ohthooh3x chaebeesahTh8e 
  8. soh7oosieY5eiD ahmoh6Ihii6que Shoowoo5dahbah ieW0aiChubee7I Caet6aikai6aex 
  9. coo1du2Re9aika Ohnei5Egoh7leV aiyie6Ahdeipho EiV0aeToeth1da iNgaesu4eeyu0S 
  10. Eeb1suoV3naera railai2Vaina8u xu3OhVee1reeyu Og0eavae3oohoh audahneihaeK8a 
  11. foo6iechi5Eira oXeixoh6EwuboD we1eiDahNgoh9s ko1Eeju1iedu1z aeP7achiisohr7 
  12. phang5caeGei5j ait4Shuo5Aitai no4eis9Tohd8oh Quiet6oTaaQuei Dei2pu2NaefeCa 
  13. Shiim9quiuy0ku yiewooph3thieL thu8Aphai1ieDa Phahnahch1Aam1 oocex7Yaith8oo 
  14. eraiGaech5ahNg neixa3malif5Ya Eux7chah8ahXix eex1lahXae4Mei uGhahzonu6airu 
  15. yah8uWahn3jeiW Yi4ye4Choongie io1Vo3aiQuahpi rie4Rucheet6ae Dohbieyaeleis5 
  16. xi1Zaushohbei7 jeeb9EiSiech0u eewo0Oow7ielie aiquooZamah5th kouj7Jaivohx9o 
  17. biyeeshesaDi9e she9ooj3zuw6Ah Eit7dei1Yei5la xohN0aeSheipaa Eeg9Phob6neema 
  18. eengoneo4saeL4 aeghi4feephu6W eiWash2Vie1mee chieceish5ioPe ool4Hongo7ef1o 
  19. jahBe1pui9thou eeV2choohoa4ee Ohmae0eef4ic8I Eet0deiyohdiew Ke9ue5thohzei3 
  20. aiyoxeiva8Maih gieRahgh8anahM ve2ath9Eyi5iet quohg6ok3Ahgee theingaech5Nef 

如果要在密码中包含至少 1 个数字,则可以运行:

  1. pwgen 14 1 -n 1 

输出样例:

  1. xoiFush3ceiPhe 

另外,pwgen 命令还有一些很实用的选项:

  1. -c 或 --capitalize 在密码中包含至少一个大写字母 
  2.  
  3. -A 或 --no-capitalize 在密码中不包含大写字母 
  4.  
  5. -n 或 --numerals 在密码中包含至少一个数字 
  6.  
  7. -0 或 --no-numerals 在密码中不包含数字 
  8.  
  9. -y 或 --symbols 在密码中包含至少一个特殊字符 
  10.  
  11. -s 或 --secure 生成完全随机的密码 
  12.  
  13. -B 或 --ambiguous 在密码中不包含难于区分的字母,如 0 和 o、1 和 l 
  14.  
  15. -h 或 --help 输出帮助信息 
  16.  
  17. -H 或 --sha1=path/to/file[#seed] 使用某个给定文件的 sha1 哈希值来作为随机数的生成种子 
  18.  
  19. -C 按列输出生成好的密码 
  20.  
  21. -1 不按列输出生成好的密码 
  22.  
  23. -v 或 --no-vowels 不使用任何元音字母,以防止生成下流的词语 ``` 

若想了解更多信息,请查阅其联机手册:

  1. man pwgen 

3. 在 Linux 中使用 GPG 来生成一个高强度密码

GPG (GnuPG 或 GNU Privacy Guard) 是一个自由开源的命令行程序,可以用于替代赛门铁克的 PGP 加密软件。在类 Unix 操作系统、Microsoft Windows 和 Android 中都可以获取到它。

要使用 PGP 生成 1 个长度为 14 个字符的高强度密码,请在终端中运行下面的命令:

  1. gpg --gen-random --armor 1 14 

输出样例:

  1. DkmsrUy3klzzbIbavx8= 

上面的命令将生成一个安全、随机、高强度且基于 base64 编码的密码。

4. 在 Linux 中使用 Perl 来生成一个高强度密码

Perl 在大多数 Linux 发行版本的默认软件仓库中都可以获取到,你可以使用相应的包管理器来安装它。

例如在基于 DEB 的系统中,可以运行下面的命令来安装 Perl:

  1. sudo apt-get install perl 

在基于 RPM 的系统中安装 Perl,可以运行:

  1. sudo yum install perl 

在基于 Arch 的系统中,则运行:

  1. sudo pacman -S perl 

一旦 Perl 安装完成,使用下面的命令创建一个文件:

  1. vi password.pl 

接着添加下面的内容到这个文件中:

  1. #!/usr/bin/perl  
  2. my @alphanumeric = ('a'..'z''A'..'Z', 0..9);  
  3. my $randpassword = join '', map $alphanumeric[rand @alphanumeric], 0..8;  
  4. print "$randpassword\n" 

保存并关闭该文件。

接着,切换到你刚才保存文件的地方,并运行下面的命令:

  1. perl password.pl 

使用你自己定义的文件名来替换上面命令中的"password.pl"。

输出样例:

  1. 3V4CJJnYd 

责任编辑:武晓燕 来源: linuxprobe
相关推荐

2019-07-02 13:16:05

密码账号安全数据安全

2020-06-07 11:46:05

密码信息泄露高强度密码

2016-11-08 17:56:37

Linux命令行密码

2017-01-19 09:16:19

2013-01-06 13:45:14

2010-12-09 14:50:20

2015-07-03 10:46:26

PHP程序员工作高效

2019-07-17 10:55:40

Kubernetes工具Katacoda

2010-08-03 18:22:46

NET软件加密锁飞天诚信

2012-02-08 13:52:30

云计算

2010-09-06 22:02:41

GartnerIT自助服务

2011-07-13 09:42:45

密码crypt

2022-03-30 14:55:54

微步在线TDP

2022-04-23 16:36:30

Linux密码

2011-03-21 09:01:49

CSS框架

2015-07-17 09:50:16

Carthage优劣比较

2019-03-27 11:30:30

Linux终端密码生成器

2013-01-06 10:44:43

微软Windows 8云计算

2015-06-04 10:38:09

编程工作50岁

2016-03-30 11:51:55

点赞
收藏

51CTO技术栈公众号