当前位置:   article > 正文

Linux可以使用的随机数密码生成方法_cat /dev/urandom | md5sum

cat /dev/urandom | md5sum

Linux随机密码生成方法

目前我知道的有3种,如下:

1、md5sum

该方法可生成无规律的字母数字组合,且字母均为小写。

md5sum xxx.xx		//可以用MD5哈希函数生成某文件的哈希值当随机密码
echo xxx|md5sum			//管道符前面可输入大小写字母、数字、标点符号,甚至可以写一个循环多次生成变量,根据输出的内容生成一个哈希值
  • 1
  • 2

举例:根据序号1-20,生成20个哈希密码(伪随机)。

for i in `seq 1 20`;do
	echo $i|md5sum
done
  • 1
  • 2
  • 3

2、RANDOM

在BASH环境下,可以通过输出$RANDOM方式。这个RANDOM变量的内容是得到0~32767之间的随机数。

echo $RANDOM
  • 1

所以你只要echo $RANDOM时,就会主动的随机取出一个介于0~32767之间的数值。
如果我们想要0~100之间的呢.我们就可以利用 declare 宣告数值类型。

declare -i number=$RANDOM*100/32767; echo $number
declare的数字均为整数,所以$RANDOM*100范围为0-3276700,除以32767后,范围为0-100。
  • 1
  • 2

3、/dev/urandom

通过查看/dev/urandom即可看到随机数(大小写字母、数字、标点符号、空格等)。可用命令进行定制化设置查询,获取想要的密码。

cat /dev/urandom
  • 1

如果想要20个长度为6位,且仅包含【a-zA-Z0-9】的随机字符做密码,可做如下定制化查询输出。

cat /dev/urandom|strings -6|egrep "^[a-zA-Z0-9]{6}$"|head -20
strings -6:代表只显示大于6个字符的字符串(默认最少4个)。
egrep "^[a-zA-Z0-9]{6}$":开头到结尾(^为开头,$为结尾),抓取匹配a-z,A-Z,0-9 的,必须是6位的字符串。
head -20:显示头20行密码。
  • 1
  • 2
  • 3
  • 4

因为egrep命令用于在文件内查找指定的字符串,所以需要先通strings命令把字符串筛选出来,不可省略。

嗯,就酱。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/361465
推荐阅读
相关标签
  

闽ICP备14008679号