Linux产生随机数
文章目录
- 1)系统环境变量$RANDOM
- 2)openssl
- 3)date
- 4) /dev/urandom 和 /dev/random
- 5)UUID
- 6)mkpasswd
- 补充说明
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产生随机数相关推荐
- Linux真随机数的生成
今天看<白帽子讲WEB安全>一书,看到笔者谈到Linux如何实现真随机数生成,感觉非常有用,记录下来 #include<iostream> using namespace st ...
- linux数组随机数,随机数与数组
随机数 数组 变量 清屏 时间延迟 静态网站HTML 随机数 srand()函数用于播种 函数头文件: stdlib.h 函数定义: void srand(unsigned int seed) 函数功 ...
- linux 生成随机数 命令,Linux生成随机数的多种方法
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 通过内部系统变量 $RANDOM 如果超过 5 位可以加个固定 10 位整数,然后进行求余.生成 400000~5000 ...
- linux获取随机数脚本,Linux下对拍脚本与随机数生成器
对拍脚本 新建一个文档 check.sh 作为对拍脚本. #!/bin/bash while(true)do #死循环 ./data > .in #运行数据生成器,将数据输出到1.in ./st ...
- linux获取随机数的方法集合
linux产生随机的方法 取8位数字的方法 [root@master scripts]# echo $RANDOM 12465 [root@master scripts]# echo $((RANDO ...
- linux 生成随机数命令
查看系统上一次生成的随机数:
- linux产生随机数方法
如果产生的数据长短格式不统一,使用md5sum命令,并使用cut截取相应位数 echo $RANDOM openssl rand -base64 openssl rand -base64 10 d ...
- linux编写随机数脚本,Shell使用RANDOM编写1-10以内随机数
Shell使用RANDOM编写1-10以内的抽奖脚本,三次抽奖机会 1.创建一个脚本 vim /root/chou.sh 2.打开的文本中编辑内容 x=$[RANDOM%10+1] #系统随机数除十取 ...
- linux kernel随机数
srandom32((uint)jiffies);/* 种子设置 */ X = random32();/* 伪随机数生成 */ 这两个函数是被EXPORT_SYMBOL(srandom32)和EXPO ...
最新文章
- 将智能合约部署到Rinkeby测试链上
- [云炬创业基础笔记]第六章商业模式测试10
- Java黑皮书课后题第8章:***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵。程序提示用户输入矩阵的行数。然后显示最大的子方阵的第一个元素、行数
- jquery右下角自动弹出关闭层
- GoogLenet网络解读及代码实现(Pytorch)
- Python批量导入Excel文件中的不重复数据到SQLite数据库
- 判断回文(Java和JavaScript)
- 洛谷1031 均分纸牌 解题报告
- 天刀服务器未响应,《天涯明月刀手游》画面卡顿解决办法
- 企微主页_企业微信名片对外怎么显示官网和小程序?
- Matlab中FracLab计算分形维数方法
- 跨境电商B2B是什么?跨境电商B2B模式如何定义?
- 硅谷一万清华人,为何打不过印度人?
- Unity Failed to load ‘Sssets/Plugins/xxx.dll with error 找不到指定的模块
- ElementUI使用表格如何显示图片?
- 【Tools/macOS系列】iPad作为扩展显示屏的几种解决方案
- INA219与INA216测试总结
- StarRocks 2.0 正式发布
- 标书制作与投标准备小结
- 银行ATM分析类类图文档