bash 脚本 密码_使用此Bash脚本生成随机密码

bash 脚本 密码

我需要定期提供新密码,其中一些密码比其他密码更安全。 当我不得不创建一个新的登录名时,我的脑子似乎常常一片空白,这个简短的Bash脚本填补了这一空白。 完全披露:我发现此脚本的大多数内容发布在某个地方,并对它进行了较小的修改。


   
   
#!/usr/bin/env sh
echo 'Generating 12-character passwords'
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

我不知道它如何工作的所有细节,但是我做了一些研究和实验。 脚本的“肉”以do dd开头。 您可能已经看到dd用来将一个磁盘复制到另一个磁盘,但是在这种情况下,它用来生成一个带dev / urandom的随机字符块。 来自dd的反馈消息被剥离,然后将字符传递到uuencodeuuencode的工作是转换字符,以便所有字符都可打印(即,没有控制字符 )。

可以通过安装sharutils软件包来获取uuencode命令。

sed的工作似乎需要进一步转换,以便字母混合使用大写和小写字母。 最后, 片段切成12个字符,以12个字符的密码结尾。 for循环运行12次,因此您将获得12个密码。


   
   
Generating 12-character passwords
8WMKHeXeYsND
X+V3jWOuBWwp
fSk6inI+LfYP
hIPndcBOSh7m
bb/w9mx8OlHv
hdIOibUaMt3Y
wl//CobIG5bR
dih0qQQMJiXw
BIN2QfNA4jCe
DF0c8Auz1qL4
RM8MMq/D8C8H
rZIG5hbghcMy

此示例输出显示了相当不错的字符。 要注意的一件事是,唯一的非字母数字字符是/+

没有理由按原样使用这些字词; 您可以根据需要添加或修改字符。 我通常使用八个字符的密码。 有些地方要求密码具有特定的元素,例如至少一个小写字母,一个大写字母,一个数字和一个符号。

如果我不喜欢任何密码,我将再次运行该脚本以生成另一个12。有人可能会评论说dev / urandom仅生成伪随机数,但是此脚本的确比我在我的笔记本上做的更好。拥有。

翻译自: https://opensource.com/article/19/11/random-passwords-bash-script

bash 脚本 密码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值