我是靠谱客的博主 现代黑裤,最近开发中收集的这篇文章主要介绍Linux产生随机数1 系统环境变量$RANDOM2 openssl3 date4 /dev/urandom 和 /dev/random5 UUID6 mkpasswd补充说明,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 1 系统环境变量$RANDOM
- 2 openssl
- 3 date
- 4 /dev/urandom 和 /dev/random
- 5 UUID
- 6 mkpasswd
- 补充说明
在Linux系统中生成随机数的命令有很多,本文在centos7的环境下进行测试。
1 系统环境变量$RANDOM
利用$RANDOM可以产生0-32767的随机数
##数字
[root@m01 scripts]# echo $RANDOM
28950
[root@m01 scripts]# echo $RANDOM
31705
[root@m01 scripts]# echo $RANDOM
2963
[root@m01 scripts]# echo $RANDOM
25648
可以给生成的随机数增加一个字符串进行加密的方式,提高安全性。
##数字和小写字母
[root@m01 scripts]# echo "NBA$RANDOM"|md5sum
5550d5dd74d2f8d18909035dd98a8ace -
执行md5sum操作后截取第3到第6位
[root@m01 scripts]# echo "NBA$RANDOM"|md5sum|cut -c 3-6
71bb
2 openssl
##数字、大小写字母、特殊符号
[root@m01 scripts]# openssl rand -base64 5
8gt2B2U=
[root@m01 scripts]# openssl rand -base64 20
tI6GBDAyoY7qRYPltpKzktD3SMY=
[root@m01 scripts]# openssl rand -base64 60
rraPXjKSTPznEeulq+X12vfK9+nGnrIGqjr6g5NzkEkfKoBHhfDqRgNoiapY2kAD
qdxN/ujT/19ONo5J
3 date
##数字
[root@m01 scripts]# date +%s%N
1656042134758980030
[root@m01 scripts]# date +%s%N
1656042135444250409
[root@m01 scripts]# date +%s%N
1656042136003358211
4 /dev/urandom 和 /dev/random
##数字
[root@m01 scripts]# head /dev/urandom|cksum
1608246532 2128
[root@m01 scripts]# head /dev/urandom|cksum
4093373365 2038
[root@m01 scripts]# head /dev/urandom|cksum
3837620846 3213
特点 | /dev/urandom | /dev/random |
---|---|---|
随机性 | 不保证 | 保证 |
速度 | 快 | 慢 |
资源占用 | 非阻塞 | 占用进程 |
5 UUID
UUID,通用识别唯一码。
让分布式系统的所有元素有唯一的辨识信息。
##数字、小写字母
[root@m01 scripts]# cat /proc/sys/kernel/random/uuid
f381f873-8337-4b30-9420-c40f8f81c892
[root@m01 scripts]# cat /proc/sys/kernel/random/uuid
e1e06e27-d14b-4ab4-a59e-6f00ff6057e5
[root@m01 scripts]# cat /proc/sys/kernel/random/uuid
23896158-f96f-4860-a598-fcc966a1ecf3
6 mkpasswd
expect数据包中的mkpasswd命令,因此要先安装expect
yum install -y expect
[root@m01 scripts]# mkpasswd -l 10 -d 4 -c 3 -C 2 -s 1
2eQ>d000rN
[root@m01 scripts]# mkpasswd -l 10 -d 4 -c 3 -C 2 -s 1
9aANp+d931
[root@m01 scripts]# mkpasswd -l 10 -d 4 -c 3 -C 2 -s 1
OM663px,r4
-l 10 长度为10个字符
-d 4 4个数字
-c 3 3个小写字母
-C 2 2个大写字母
-s 1 1个特殊字符
补充说明
上述所有命令都可以用md5sum统一长度
[root@m01 scripts]# echo "NBA$RANDOM"|md5sum|cut -c 4-10
7ec1287
[root@m01 scripts]# openssl rand -base64 60|md5sum|cut -c 4-10
b20f06a
[root@m01 scripts]# date +%s%N|md5sum|cut -c 4-10
6045b63
[root@m01 scripts]# head /dev/urandom|cksum|md5sum|cut -c 4-10
1c84ff9
[root@m01 scripts]# cat /proc/sys/kernel/random/uuid|md5sum|cut -c 4-10
f82f7de
[root@m01 scripts]# mkpasswd -l 10 -d 4 -c 3 -C 2 -s 1|md5sum|cut -c 4-10
932f97b
最后
以上就是现代黑裤为你收集整理的Linux产生随机数1 系统环境变量$RANDOM2 openssl3 date4 /dev/urandom 和 /dev/random5 UUID6 mkpasswd补充说明的全部内容,希望文章能够帮你解决Linux产生随机数1 系统环境变量$RANDOM2 openssl3 date4 /dev/urandom 和 /dev/random5 UUID6 mkpasswd补充说明所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复