我目前正在生成一个密码,即日期的哈希值。我希望通过添加一些大写,小写,数字和特殊字符来增加这个生成的密码的安全性,所有这些都是10个字符的最小长度。
我目前的情况如下。如您所见,它将输出分配给我的PASSWORD变量。
PASSWORD=$(date +%s | sha256sum | base64 | head -c 15)
我不确定我是否可以内联,或者,如果我需要在我的bash脚本中创建一个函数来适应?这甚至可能吗?
非常感谢提前。
答案 0 :(得分:6)
tr
和head
:
password=$(tr -dc 'A-Za-z0-9!?%=' < /dev/urandom | head -c 10)
echo "$password"
输出(示例):
k?lmyif6aE
tr
从Linux的特殊随机设备/dev/urandom通过stdin读取字节,并删除A
到Z
,a
到{{z
的所有字节/字符1}},0
到9
和!?%=
。 tr
通过stdout将其输出发送到head
的标准输入。 head
在10个字节后减少输出。
答案 1 :(得分:0)