创build随机密码

我需要从脚本中随时创build密码

不幸的是我不能使用使用/ dev / urandom的应用程序,因为创build密码需要花费时间。

有没有其他的应用程序可以用来创build密码?

显然这个答案工作:

 cat /dev/urandom | tr -dc 'a-zA-Z0-9-_!@#$%^&*()_+{}|:<>?=' | fold -w 12 | head -n 4 

…大约需要0.01秒。

apg工具有点过时了,但仍然适用于密码生成。 它支持调整密码大小,使用字典进行密码检查,生成可读或随机的密码,具有内置的PRNG和/dev/random支持,并且可以在一堆或shell脚本上生成各种密码。

例子:

 # apg -c random_seed dordififId riHegyipju Noafrathvu IchJinCet utadwulb ethFench 

只生成一个没有分隔符的文件:

 # apg -c random_seed -n 1 -d AkKijNayn 

拼写生成的密码:

 # apg -c random_seed -n 1 -d aicWajbyRorp42863:~# apg -c random_seed -l FrogQuev Foxtrot-romeo-oscar-golf-Quebec-uniform-echo-victor cecNeiv1 charlie-echo-charlie-November-echo-india-victor-ONE SkudVolt Sierra-kilo-uniform-delta-Victor-oscar-lima-tango TowUlripab Tango-oscar-whiskey-Uniform-lima-romeo-india-papa-alfa-bravo Bytquigpey Bravo-yankee-tango-quebec-uniform-india-golf-papa-echo-yankee Doithneb Delta-oscar-india-tango-hotel-november-echo-bravo 

你可以尝试'pwgen'(Ubuntu / Debian / Gentoo等)

生成一个10个字符的密码:

 pwgen 10 

生成更安全的10个字符密码:

 pwgen -s 10 

生成一个'真正'安全的10个字符的密码:

 pwgen -sy 10 

希望这有助于干杯

以下内容会生成一个唯一的8位低位和高位字符密码: openssl rand -base64 6

 mkpasswd -l 10 # will make a randon password with 10 chars - you may need to install it ... 
 #Chars allowed in password (I don't like l,o,O, etc): P="0123456789ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz" #Or such: #P="a-zA-Z0-9" #The string pasted as $P$P$P... must be at least 256 chars long. head -c 8 < /dev/urandom | tr '\000-\377' "$P$P$P$P$P" echo 

如果您要创build一个人类应该记住的密码,请从字典中随机select一些字词:

$ uniq < /usr/share/dict/words | shuf | head -n 4 | tr '\n' ' ' reinitialise content snug dimly

相关的XKCD条