在命令行上创建符合特定标准的密码。
作者:
Sumantro Mukherjee (红帽公司通讯员)
7月7日, 2021 | 1 评论
向上
图片由。
freeGraphicToday, via Pixabay.CC0。
大多数网站和应用程序都要求用户创建带有安全密码的账户,以便他们能够提供量身定制的用户体验。虽然这对网站开发者有利,但它肯定不会让用户的生活更轻松。
更多Linux资源
有时候,创建密码的规则非常严格,很难得到一个好的、允许的组合。如果有一个工具可以生成符合网站或应用程序所要求的任何规则的安全密码,那就容易多了。
这就是pwgen发挥作用的地方。根据它的手册,"pwgen程序生成的密码是为了便于人类记忆,同时又尽可能的安全"。它返回符合你提供的标准的多个密码选项,这样你就可以选择一个你喜欢的(而且可能更容易记住)。
安装pwgen
在Linux上,你可以使用你的软件包管理器安装pwgen。例如,在Fedora上。
$ sudo dnf install pwgen
在macOS上,使用MacPorts或Homebrew。在Windows上,使用Chocolatey。
用pwgen生成密码
有几种方法可以向pwgen传递参数以生成密码,这取决于你需要哪些参数。这里有一些例子;更多的选项请查阅man页。
如果你需要一个安全的、难以记忆的特定长度的密码,请运行pwgen --secure (或简称-s ),然后再加上你需要的字符长度。
$ pwgen -s 25
pnFBg9jB8AlKL3feOuS2ZwMGb xlmDRoaLssduXTdGV6jkQhUGY O3IUB3CH7ry2kD4ZrSoODzWez
dENuvhkF3mmeb4FfXd4VPU2dE EMCi1sHFKHUVmbVajXWleFBzD 4UXJIu3JztVzYz6qJktBB3KCv
AF9WM7hmG89cpTlg8PksI7jsL LSSaT7DD4IT8DUgRAgY8Zt06m Nths10uT0bIMGsPuE0XEHDxsj
6YjLRbg3VnGnrzkoQCmrneLmm Tam1Mftac5RxrZPoXJtXx1Qdy BPqePJW4LdTtFnuZOepKEj0o0
Ss8veqqf95zusqYPsfE7mLb93 4KuZdReO5lhKff7Xv1en1Hefs is7hjLnDrVCUJ7Hh6zYUzfppn
UXOfENPRJYWiroIWEt5IgAwdJ t8i4hM4cDuL8pN1rpFKHnx7yw Wr7gyuyU2br7aCbiH5M5ogvc6
evk90lUmK2rOUWGgnqmznn0a9 Lflyc9svJfaBRRMin24j0P9ec hIzyJIwCpklDjgOb5PrMkyPCI
bhYcaV7GXfUiCMZ1kvMnlmKLx v4EJew54u6s4ZCirOTAWjfPQ2 IdemhbOHOm4Qo70WGibaNTOpO
j6XkmdB3LBfqZf5mbL3GndliG PpZbeXfWOFCpNARyXt1FWPAb8 OLQS2HFuqkiSg56sdxNsg5vaJ
1g666HxJPQ6l2L0RlaDEMoi50 1t6au7VuTN9HVPpiVmd1Gurli 46OAWypvwtZZUdBEfaHSunjpw
0LiRj9dbtMuI4cbDES8O4gYRq 2HPiaq5AANvVT32fWqNIruu3R 3lT5B107WoUbHsELkKUjnEEih
gLmYUTp0XZJWvIVbA5rFvBT54 LEm6QVeTMinc056DC9c4V55cV ipV45Ewj704365byKhY8zn766
运行pwgen –symbols (或简称-y ),再加上所需的字符长度,就可以生成一个有特殊字符的密码。
$ pwgen -y 25
Osh0chahxe0won9aech4ese?v pemoh2ohm9aim;iu4Eiy"ah0y Taiqu;o2aeSh+o4aedoagait3
Vei;phoh5owai5jui+t|ei3ot teu!w7mahxoh0Po7ohph8Iez6 quie#phooCeu2lohm5shaPaer
eTh5AechaexieToh9ez5eeZ;e nuloh1ico0Nool:eG<aiv`ah, Heeghuo8ahzii1Iep~ie_ch7p
oe6Xee6uchei7Oroothail~iL ahjie!Chee.W4wah[wuu]phoo ees7ieb!i[ibahhei1xoz2Woh
Atei9ooLu7lo~sh>aig@ae9No OVahh2OhNgahtu8iethaR@i7o ouFai8ahP@eil4Ieh5le5ipu5
eeT4tahW0ieng9fe?i5auM3ie seet0ohc4aiJei]koiGha2zu% iuh@oh4eix0Vuphi?o,hei9me
loh0Aeph=eix(ohghe6chee3z ahgh2eifiew8dahG_aeph8woo oe!B4iasaeHo`ungie3taekoh
cei!c<ung&u,shee6eir7Eigo va6phou8ooYuoquohghi-n6Qu eeph4ni\chi2shohg3Die1hia
uCagha8Toos2bahLai7phuph` Zue2thieng9ohhoo~shoh6ese Aet7Lio1ailee^qu4hiech5ie
dee]kuwu9OhTh3shoi2eijoGe daethahH6ahV3eekoo9aep$an aehiiMaquieHee9moh`l_oh4l
aec#ii6Chophu3aigh*ai#le4 looleihoog:uo4Su"thiediec eeTh{o7Eechah7eeJ2uCeish!oi3jaiphoof$aiy;ieriexeiP Thozool3aipi|cahfu0Ha~e1e az/u8iel2Jaeph2vooshai9Wi
运行pwgen --capitalize (或简称-c ),然后跟上字符长度,生成一个至少有一个大写字母的密码。
$ pwgen -c 25
pheipichusheta6ieJ4xai4ai seiLeiciev7ijoy5Uez7Iepee Foobeisheec7ooGahbicholo6
shenahsheevigh3pha1Ie5aev taiTheitahne3oong4joegh9d ooshieV0ooGhaelabuyahsh7t
ieniech0Uajeh8nieYaak0foh dohm5Pee3jeeshahm1eipei0a aemoob8Lequeesho8ahreiwee
keineeCh5ieZejafitith6Osh Tahn3nohl6iewaimee6oofied Aed2Woh7nae5ohgh2toh1ieph
le4agheeb0bieth0Ui7ielais Iunoo4lev1aiG4NohfoTh3ro5 iLai7eiQuohXosh8ooyiev6wu
eezib2zoh2ohsh0cooSahluK6 baekiew8bo5oeMouthi7taCee iep6Puungae0uushogah4rohw
chohm5leogae2zeiph1OL0uK2 oosieCaishievahvig3Iaphai ii9AemieYeepe1ahciSei8ees
ie3aighaiy9TaX6bae8soKe6t sooDaivi4mia8Eireech8ope9 moi9uk3bauv0ahY4to0aedie7
que8seHu4shu7Veib6noe7dai shuyuj9aiphoip2Ier4oole1u Thoaziebah1Ieph2Veec0Ohm8
auqua4Kaitie9sei6quoh7chi jeewaituH3Ohsaisahp0viequ ueh1quaibidoh6Bae6ri0Mee2
lae3aiJaiNgoh7yieghozev7o Di2vohfahr7uo7ohSh0voh5sh Jeurahxiedeiyoom3aechaS7d
thung2pheiy2tooBeenuN8ia3 foh0oge1athei0oowieZen0ai iexei0io1vohsieThuCoy5ogi
tohHe3uu2eXieheeQuoh7eit8 aiMieCeizeivu1ooch8aih0sh Riojei2yoah0AiWeiRoMieQu0
让它变得简单
好的随机密码是很难发明的,特别是因为人类的大脑倾向于选择模式。通过使用pwgen,使密码生成更容易。有了一个好的开源密码管理器,你可以从难以猜测但从头到尾都容易使用的密码中受益。
接下来要阅读的内容
3个开源的密码管理器
通过使用安全的开源密码管理器来存储独特、复杂的密码,以保证你的数据和账户安全。
(顾问,红帽)
2021年3月4日
用这种Python加密算法永远不会忘记你的密码
这种使用Python和Shamir's Secret Sharing的独特算法可以保护你的主密码不被黑客和你自己遗忘。
(通讯员)
2020年6月11日
标签
嘿,开放源码的朋友们!我是Sumantro,来自印度(东部地区--英国时代的前首都又名加尔各答)。我是Sumantro,来自印度(东部地区--英国时代的前首都AKA Kolkata)。我喜欢分享知识,写关于技术和经验的文章(主要是我每天都在尝试)。
1条评论
这些评论已经关闭,不过你可以注册或登录后在另一篇文章上发表评论。

图片由。
opensource.com
Greg Pittman| 2021年7月7日
这是一个简短的shell脚本,我用来生成密码。
for ((n=0;n<12;n++))
do dd if=/dev/urandom count=1 2> /dev/null | uuencode -m - | sed -ne 2p | cut -c-12
done
这样就用uencode生成了12个12个字符的密码(随心所欲地改变),其中包括小写和大写字母、数字和特殊字符。
通常情况下,我只使用12个字符中的一部分,如果能使密码更容易记忆或输入,我可能会改变一些字符。