Linux系统产生随机数的6种方法
1、通过系统环境变量($RANDOM)产生随机数
[root@localhost ~]# echo $RANDOM 3849 [root@localhost ~]# echo $RANDOM 14931 [root@localhost ~]# echo $RANDOM 12488 [root@localhost ~]# echo $RANDOM |md5sum |cut -c 1-8 #获取8位随机字符 2e45f930 [root@localhost ~]# echo $RANDOM |cksum |cut -c 1-8 #获取8位随机数字 44020023
2、通过openssl产生随机数
openssl rand 用于产生指定长度个bytes的随机字符
-base64 / -hex 对随机字符串进行base64编码或用hex格式显示
[root@localhost ~]# openssl rand -base64 10 yNop46cVrQxNIQ== [root@localhost ~]# openssl rand -base64 8 pB492c604MI= [root@localhost ~]# openssl rand -base64 5 gAqEI9c= [root@localhost ~]# openssl rand -base64 6 #获取8位随机字符 Ynp6VIpK [root@localhost ~]# openssl rand -base64 9 #获取12位随机字符 fiZ8sfsISLNt [root@localhost ~]# openssl rand -base64 8 |cksum |cut -c 1-8 #获取8位随机数字 79268014
3、通过时间获得随机数(date)
[root@localhost ~]# date +%s%N 1523515467269826678 [root@localhost ~]# date +%s%N 1523515470209375226 [root@localhost ~]# date +%N 967517148 [root@localhost ~]# date +%s 1523515480 [root@localhost ~]# date +%N |cut -c 1-8 #获取8位随机数字 48604877
4、使用/dev/urandom产生随机数
[root@localhost ~]# head /dev/urandom | cksum 4079719468 1897 [root@localhost ~]# head /dev/urandom | cksum 335118151 3245 [root@localhost ~]# head /dev/urandom | cksum 2907270140 3053
5、使用计算机生成的uuid码产生随机字符
[root@localhost ~]# cat /proc/sys/kernel/random/uuid 9db39860-5e2f-46c0-8198-d40d551a1402 [root@localhost ~]# cat /proc/sys/kernel/random/uuid d158d445-abdc-4909-81da-7bafae83cce1 [root@localhost ~]# cat /proc/sys/kernel/random/uuid |cut -c 1-8 #获取8位随机字符 1c5ad58a [root@localhost ~]# cat /proc/sys/kernel/random/uuid |cut -c 1-8 #获取8位随机字符 d332cf7f
6、安装软件expect,然后使用命令mkpasswd生成随机字符
[root@localhost ~]# yum -y install expect [root@localhost ~]# mkpasswd -l 8 6cvHu1P_ [root@localhost ~]# mkpasswd -l 8 g7jR3!Lt [root@localhost ~]# mkpasswd -l 8 Y9wCwk4- [root@localhost ~]# mkpasswd h8{o4wVWf [root@localhost ~]# mkpasswd 9bnI&zD4u [root@localhost ~]# mkpasswd|md5sum d9fabd642a8d4e260c95604bdd7d9cea - [root@localhost ~]# mkpasswd|md5sum c5ddd81803a9308bcf31999c2441c5d9 -
来源: https://blog.51cto.com/longlei/2360802
零星的变得优秀,也能拼凑出星河。
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?