【发布时间】:2020-02-26 18:38:44
【问题描述】:
我正在尝试在 linux 中创建一个 3 位随机密码,但条件如下:
- 使用 urandom
- 至少一个大写字母
- 至少一个小写字母
- 至少一个数字
【问题讨论】:
-
这可能是起点
perl -le 'print map{(a..z,A..Z,0..9)[rand 62]} 0..2' -
欢迎来到 Stack Overflow。 SO 是一个面向专业和爱好者程序员的问答网站。目标是您将一些自己的代码添加到您的问题中,以至少显示您为解决这个问题所做的研究工作。
-
我打算建议
pwgen -n -c 3(为什么要重新发明轮子)因为它使用/dev/urandom(根据strace)但显然你不能强迫它包含一个小写字母,只有数字和大写字母。 -
printf $'%s%s%s\n' $({ printf '%s\n' {A..Z} | shuf | head -n 1 ; printf '%s\n' {a..z} | shuf | head -n 1; printf '%s\n' {0..9} | shuf | head -n1; } | shuf )数字,上下随机顺序。