shell生成随机数的几种方法
一、通过内部系统变量($RANDOM)
生成0-32767之间的整数随机数,若超过5位可以加个固定10位整数,然后进行求余。
[root@web01 scripts]# echo $RANDOM [root@web01 scripts]# echo $RANDOM|md5sum
97e88f505ae3b0faced5a9e08ede02d2 -
[root@web01 scripts]# echo $RANDOM|md5sum |cut -c -
1ecd073
二、openssl rand产生随机数
openssl rand 用于产生指定长度个bytes的随机字符。-base64或-hex对随机字符串进行base64编码或用hex格式显示
[root@web01 scripts]# openssl rand -base64
JY8vRoi3d2M=
[root@web01 scripts]# openssl rand -base64 |md5sum
f1f1709b1f3a96d101295c1d96e9a9db -
[root@web01 scripts]# openssl rand -base64 |md5sum |cut -c -
5f76ee4
三、通过时间获得随机数(date)
[root@web01 scripts]# date +%s%N [root@web01 scripts]# date +%s%N|md5sum
6d33c90c996b221ced709b671714ad62 -
[root@web01 scripts]# date +%s%N|md5sum |cut -c -
985f894
四、Linux的uuid码
[root@web01 scripts]# uuidgen
5e5746cd-23f5-4b76-b240-7d7a01029612
[root@web01 scripts]# uuidgen |md5sum
cb859516d530265f4ea3a90b171501c6 -
[root@web01 scripts]# uuidgen |md5sum |cut -c -
6bb369b
五、expect的mkpasswd
[root@web01 scripts]# yum install expect
[root@web01 scripts]# mkpasswd -l
rh5Wr8J)
[root@web01 scripts]# mkpasswd -l |md5sum
fd41f7af9a5140b7f965ab6f06c67f27 -
[root@web01 scripts]# mkpasswd -l |md5sum |cut -c -
bd40e7d
六、awk的随机函数
[root@web01 scripts]# awk 'BEGIN{srand();print rand()*1000000}'
[root@web01 scripts]# awk 'BEGIN{srand();print rand()*1000000}'|md5sum
f3199f44505732ccc177180653300171 -
[root@web01 scripts]# awk 'BEGIN{srand();print rand()*1000000}'|md5sum |cut -c -
9e2b9a6
为了加强密码强度,可以混合搭配使用,还要一些其他方式也可以获取随机数,在此仅列出常用几个。
shell生成随机数的几种方法的更多相关文章
- php生成随机数的三种方法
php生成随机数的三种方法 如何用php生成1-10之间的不重复随机数? 例1,使用shuffle函数生成随机数. <?php$arr=range(1,10);shuffle($arr);for ...
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
c#封装DBHelper类 public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...
- (摘)C#生成随机数的三种方法
随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当 ...
- C#生成随机数的三种方法
随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当 ...
- 生成随机数的几种方法、Math.random()随机数的生成、Random()的使用
第一种方法使用:System.currentTimeMillis(); final long l = System.currentTimeMillis(); final int rs = (int) ...
- PHP生成随机数的几种方法
第一种方法用mt_rand() function GetRandStr($length){ $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV ...
- C#中生成随机数的几种方法
Random 类 Random类默认的无参构造函数可以根据当前系统时钟为种子,进行一系列算法得出要求范围内的伪随机数 Random rd = new Random() rd.next(,)(生成1~1 ...
- python 生成随机数的几种方法
随机取一个: import random random.choice(string.digits)#从数字里随机选取一位数字: 随机取多位数: random.sample(string.dig ...
- Linux系统产生随机数的3种方法
Linux系统产生随机数的3种方法 方法一:生成8位随机数 [root@localhost ~]# echo "$RANDOM$(date +%N%t)" | md5sum | c ...
随机推荐
- [综] Sparse Representation 稀疏表示 压缩感知
稀疏表示 分为 2个过程:1. 获得字典(训练优化字典:直接给出字典),其中字典学习又分为2个步骤:Sparse Coding和Dictionary Update:2. 用得到超完备字典后,对测试数据 ...
- setTimeout()与setInterval()
一.setTimeout与setInterval的用法(http://www.css88.com/archives/5804) setTimeout是超时调用,javascript是一个单线程的解析器 ...
- SpringToolSuite/Eclipse中集成的Tomcat无法add Project时的解决版本
- MySql自增长列
1. 关键字 auto_increment 2. 自增用法 a) create table test(tid int auto_increment, tname varchar(10), primar ...
- CORBA IOR学习
Interoperable Object References: IOR IOR用于表示一个对象引用,我们知道,当我们在客户端一个CORBA对象的时候,接触的并不是真正的对象,而是这个对象的代理(Pr ...
- ActiveX控件打包、签名、嵌入详解
ActiveX控件打包.签名.嵌入详解 前言 在我们的一个项目中,使用到了大华网络监控摄像头枪机,网络上下载了其ActiveX插件,但是发现其所提供的类库没有打包处理.这就导致我们每次给用户安装的时候 ...
- .Net Enum
/// <summary> /// 将enum转换成List<Model.Models.SelectViewModels>,即html的select标签使用的数据 /// &l ...
- ORA-15025: could not open disk "/dev/asm***"--转载
Symptoms: 打完补丁后,数据库报错ORA-15025,数据库无法启动. alert日志信息: Wed Jul22 16:26:57 2015 ORA-15025:could not open ...
- Django HTML 显示文章摘要
在用Django写个人博客,发现一般都是标题加上文章摘要,然后点击标题可以看详细内容.这样主页就可以多显示几篇文章. 那么就要用到文章摘要功能. 比如要100个字的文章摘要,就可以这样写: {{art ...
- html基础 1
大三已经快要结束的时候才意识到自己真的一点东西都没有学到,然后就决定要在大四结束前能学多少是多少,自己要尽力.之所以要开博客是因为自己总是坚持不了,要给自己一个坚持下去的动力所以开始了.慢慢的一步一步 ...