linux系统产生随机数的6种方法

案例:生成10个随机的小写字母

cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1
xvsymzhzze

mkpasswd -l 50 | tr -dc 'a-z'|cut -c1-10
xkzaurucjr

tr -dc a-z < /dev/urandom |head -c 10
ttflagximb

第一种:echo $RANDOM

[root@www ~]# echo $RANDOM

31018

[root@www ~]# echo $RANDOM|md5sum
095a90342d5732638622913398ff840e -

第二种:

[root@www ~]# echo $(date +%N%t)
833203837

[root@www ~]# echo $(date +%N%t)|md5sum
02fc6e5ddd46b1948cad4984263fdc3e -

[root@www ~]# echo $RANDOM|md5sum|cut -c 1-8
7aaa0628

结合:

[root@www ~]# echo “$RANDOM $(date +%U%t)“|md5sum|cut -c 1-8
b2cfa41c

第三种:

[root@www ~]# openssl rand -base64 8
YZIWjLzDKPk=
[root@www ~]# openssl rand -base64 8|md5sum
3d1b11d0697f85b2b09b35a29fc9f5db -

第四种:

[root@www ~]# head /dev/urandom|cksum
2756567291 2491

head /dev/urandom|cksum|md5sum
092aec7e0e17f4777de45bdd1a555614 -

第五种:

[root@www ~]# cat /proc/sys/kernel/random/uuid 
5cbb5d8f-39b5-48fa-94b9-54f77e0b87d7

cat /proc/sys/kernel/random/uuid|md5sum
26197fc87b660c7db261d746c22def6c -

第六种:

[root@www ~]# mkpasswd 
65jrZM|er

[root@www ~]# mkpasswd|md5sum
bcdfd40390bb59294f59bc8ea4323586 -

检测是否唯一的方法

[root@www ~]# echo $RANDOM|md5sum|cut -c 1-9|sort|uniq -c|sort -nk1
1 f289c94c5

前边为1证明他是唯一的

[root@www ~]# for i in $(seq 20);do echo $RANDOM|md5sum|cut -c 1-9|sort|uniq -c|sort -nk1;done
1 47640a2cb
1 ff40af0fc
1 1d4f13e71
1 a35a306e0
1 75b0789f7
1 94a6d7adb
1 16d524d76
1 e4519e551
1 4fd3ee17b
1 f1c7210f7
1 1e8d495e9
1 1ad6a9ab3
1 796ab76be
1 2bb0d539e
1 ddd22c3c0
1 9e12e9804
1 28d4ea8a3
1 0e9e69bd9
1 500139765
1 0298a354a

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大富大贵7

很高兴能够帮助到你 感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值