ooo*_*ooo 1 linux security random passwords bash
我有一个每日 bash 过程,需要每天使用新密码。
为了避免处理特殊字符,我使用两个变量乘积的 MD5 生成密码$RANDOM:
md5sum <<< $(($RANDOM * $RANDOM))
Run Code Online (Sandbox Code Playgroud)
我的想法是:因为$RANDOM生成一个 0 到 32,767 之间的随机整数,然后生成两个随机整数并将它们相乘将搜索空间增加到 32,767^2 = 1,071,711,169
我不是安全专家,所以我很好奇我的方法是否相当安全,如果不是,更好的方法是什么?
生成任意所需长度(例如 20 个字符)且仅包含字母数字字符的密码的安全方法是:
cat /dev/random | tr -dc '[:alnum:]' | head -c 20
Run Code Online (Sandbox Code Playgroud)
如果/dev/random对你来说太慢了,下面的速度很快,而且可能已经足够好了:
cat /dev/urandom | tr -dc '[:alnum:]' | head -c 20
Run Code Online (Sandbox Code Playgroud)
这比 md5sum 具有优势,因为 (a) 它使用所有字母字符,而不仅仅是 af,并且 (b) 它同时生成大写和小写字母。
urandom有关安全性和vs的讨论random,请参阅这篇文章:“何时使用 /dev/random 与 /dev/urandom”。
| 归档时间: |
|
| 查看次数: |
2815 次 |
| 最近记录: |