当前位置: 首页 > 编程笔记 >

Shell脚本生成随机密码的若干种可能

杜彦君
2023-03-14
本文向大家介绍Shell脚本生成随机密码的若干种可能,包括了Shell脚本生成随机密码的若干种可能的使用技巧和注意事项,需要的朋友参考一下

1.生成随机密码(urandom版本)

#!/bin/bash
#Author:丁丁历险(Jacob)
#/dev/urandom文件是Linux内置的随机设备文件
#cat /dev/urandom可以看看里面的内容,ctrl+c退出查看
#查看该文件内容后,发现内容有些太随机,包括很多特殊符号,我们需要的密码不希望使用这些符号
#tr -dc '_A-Za-z0-9' </dev/urandom  
#该命令可以将随机文件中其他的字符删除,仅保留大小写字母,数字,下划线,但是内容还是太多
#我们可以继续将优化好的内容通过管道传递给head命令,在大量数据中仅显示头10个字节
#注意A前面有个下划线
tr -dc '_A-Za-z0-9' </dev/urandom | head -c 10

2.生成随机密码(字串截取版本)

#!/bin/bash
#Author:丁丁历险(Jacob)
#设置变量key,存储密码的所有可能性(密码库),如果还需要其他字符请自行添加其他密码字符
#使用$#统计密码库的长度
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
num=${#key}
#设置初始密码为空
pass=''
#循环8次,生成8为随机密码
#每次都是随机数对密码库的长度取余,确保提取的密码字符不超过密码库的长度
#每次循环提取一位随机密码,并将该随机密码追加到pass变量的最后
for i in {1..8}
do 
    index=$[RANDOM%num]
    pass=$pass${key:$index:1}
done
echo $pass

3.生成随机密码(UUID版本,16进制密码)

#!/bin/bash
uuidgen

4.生成随机密码(进程ID版本,数字密码)

#!/bin/bash
echo $$

总结

以上所述是小编给大家介绍的Shell脚本生成随机密码的若干种可能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍Shell创建用户并生成随机密码脚本分享,包括了Shell创建用户并生成随机密码脚本分享的使用技巧和注意事项,需要的朋友参考一下 创建随机数的方法: 在Linux中有一个设备/dev/urandom是用来产生随机数序列的。利用该设备我们可以根据在需要生成随机字符串。 比如我们要产生一个8位的字母和数字混合的随机密码,可以这样: 其实,linux已经提供有个系统环境变量了。 可能有疑问

  • 本文向大家介绍Python生成随机密码,包括了Python生成随机密码的使用技巧和注意事项,需要的朋友参考一下 本人  python新手,使用的环境是python2.7,勿喷 以上就是本文的全部内容了,希望对大家学习python能够有所帮助。

  • 本文向大家介绍jQuery随机密码生成的方法,包括了jQuery随机密码生成的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery随机密码生成的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的jQuery程序设计有所帮助。

  • 问题内容: 我正在尝试在php中生成一个随机密码。 但是我得到所有的’a’s,返回类型是数组类型,我希望它是一个字符串。有关如何更正代码的任何想法? 谢谢。 问题答案: 安全警告 :不是加密安全的伪随机数生成器。寻找其他地方以在PHP中生成加密安全的伪随机字符串。 试试这个(使用代替,因为在字符串上总是):

  • 本文向大家介绍PHP中快速生成随机密码的几种方式,包括了PHP中快速生成随机密码的几种方式的使用技巧和注意事项,需要的朋友参考一下 思路是这样的,密码通常是英文字母和数字的混合编排,我们可以借助随机函数rand函数随机的选择一个长字符串的一部分。 我们使用rand函数的目的是为了产生随机的字符串,但是如果有一个函数可以做到的话,我们就没有必要使用rand函数了。 可以看到不使用rand函数,而是使

  • 本文向大家介绍shell 随机从文件中抽取若干行的实现方法,包括了shell 随机从文件中抽取若干行的实现方法的使用技巧和注意事项,需要的朋友参考一下 shuf -n5 main.txt sort -R main.txt | head -5 awk -vN=5 -vC="`wc -l file`" 'BEGIN{srand();while(n<N){i=int(rand()*C+1);if(!(i