在Bash中创建密码

Gra*_*eld 3 passwords bash

我目前有一个正在生成的密码,这是日期的哈希值.我想通过添加一些大写,小写,数字和特殊字符来增加这个生成密码的安全性,所有这些都至少10个字符的长度.

我现在拥有的是下面的内容.如您所见,它将输出分配给我的PASSWORD变量.

PASSWORD=$(date +%s | sha256sum | base64 | head -c 15)
Run Code Online (Sandbox Code Playgroud)

我不确定我是否可以内联,或者,如果我需要在我的bash脚本中创建一个函数来适应?这甚至可能吗?

提前谢谢了.

Cyr*_*rus 6

trhead:

password=$(tr -dc 'A-Za-z0-9!?%=' < /dev/urandom | head -c 10)

echo "$password"
Run Code Online (Sandbox Code Playgroud)

输出(例子):

k?lmyif6aE

tr读取来自Linux的特殊随机设备通过stdin字节的/ dev/urandom的,并删除所有字节/字符,但AZ,az,09!?%=.tr通过stdout将其输出发送到headstdin.head在10个字节后切断输出.