文章目录

  • 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产生随机数相关推荐

  1. Linux真随机数的生成

    今天看<白帽子讲WEB安全>一书,看到笔者谈到Linux如何实现真随机数生成,感觉非常有用,记录下来 #include<iostream> using namespace st ...

  2. linux数组随机数,随机数与数组

    随机数 数组 变量 清屏 时间延迟 静态网站HTML 随机数 srand()函数用于播种 函数头文件: stdlib.h 函数定义: void srand(unsigned int seed) 函数功 ...

  3. linux 生成随机数 命令,Linux生成随机数的多种方法

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 通过内部系统变量 $RANDOM 如果超过 5 位可以加个固定 10 位整数,然后进行求余.生成 400000~5000 ...

  4. linux获取随机数脚本,Linux下对拍脚本与随机数生成器

    对拍脚本 新建一个文档 check.sh 作为对拍脚本. #!/bin/bash while(true)do #死循环 ./data > .in #运行数据生成器,将数据输出到1.in ./st ...

  5. linux获取随机数的方法集合

    linux产生随机的方法 取8位数字的方法 [root@master scripts]# echo $RANDOM 12465 [root@master scripts]# echo $((RANDO ...

  6. linux 生成随机数命令

    查看系统上一次生成的随机数:

  7. linux产生随机数方法

    如果产生的数据长短格式不统一,使用md5sum命令,并使用cut截取相应位数 echo  $RANDOM openssl rand -base64 openssl rand -base64  10 d ...

  8. linux编写随机数脚本,Shell使用RANDOM编写1-10以内随机数

    Shell使用RANDOM编写1-10以内的抽奖脚本,三次抽奖机会 1.创建一个脚本 vim /root/chou.sh 2.打开的文本中编辑内容 x=$[RANDOM%10+1] #系统随机数除十取 ...

  9. linux kernel随机数

    srandom32((uint)jiffies);/* 种子设置 */ X = random32();/* 伪随机数生成 */ 这两个函数是被EXPORT_SYMBOL(srandom32)和EXPO ...

最新文章

  1. 将智能合约部署到Rinkeby测试链上
  2. [云炬创业基础笔记]第六章商业模式测试10
  3. Java黑皮书课后题第8章:***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵。程序提示用户输入矩阵的行数。然后显示最大的子方阵的第一个元素、行数
  4. jquery右下角自动弹出关闭层
  5. GoogLenet网络解读及代码实现(Pytorch)
  6. Python批量导入Excel文件中的不重复数据到SQLite数据库
  7. 判断回文(Java和JavaScript)
  8. 洛谷1031 均分纸牌 解题报告
  9. 天刀服务器未响应,《天涯明月刀手游》画面卡顿解决办法
  10. 企微主页_企业微信名片对外怎么显示官网和小程序?
  11. Matlab中FracLab计算分形维数方法
  12. 跨境电商B2B是什么?跨境电商B2B模式如何定义?
  13. 硅谷一万清华人,为何打不过印度人?
  14. Unity Failed to load ‘Sssets/Plugins/xxx.dll with error 找不到指定的模块
  15. ElementUI使用表格如何显示图片?
  16. 【Tools/macOS系列】iPad作为扩展显示屏的几种解决方案
  17. INA219与INA216测试总结
  18. StarRocks 2.0 正式发布
  19. 标书制作与投标准备小结
  20. 银行ATM分析类类图文档

热门文章

  1. MATLAB中将图像转换为二值图像im2bw
  2. js获取子节点的方法
  3. Python中的元类
  4. 「IRC / freenode」- 昵称注册(学习笔记) @20210216
  5. 【牛客】Old Bill(C语言)
  6. Mysql的原理解析
  7. 文字过长(限制字数)截取
  8. [技术篇] Android11上导入GMS后,登录Google账号提示“您的账号未成功添加”问题。
  9. 手机信号难进新地铁 特殊行业法规亟需细化
  10. 读书感受 之 《非暴力沟通》