一、通过内部系统变量($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生成随机数的几种方法的更多相关文章

  1. php生成随机数的三种方法

    php生成随机数的三种方法 如何用php生成1-10之间的不重复随机数? 例1,使用shuffle函数生成随机数. <?php$arr=range(1,10);shuffle($arr);for ...

  2. c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)

    c#封装DBHelper类   public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...

  3. (摘)C#生成随机数的三种方法

    随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当 ...

  4. C#生成随机数的三种方法

    随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当 ...

  5. 生成随机数的几种方法、Math.random()随机数的生成、Random()的使用

    第一种方法使用:System.currentTimeMillis(); final long l = System.currentTimeMillis(); final int rs = (int) ...

  6. PHP生成随机数的几种方法

    第一种方法用mt_rand() function GetRandStr($length){ $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV ...

  7. C#中生成随机数的几种方法

    Random 类 Random类默认的无参构造函数可以根据当前系统时钟为种子,进行一系列算法得出要求范围内的伪随机数 Random rd = new Random() rd.next(,)(生成1~1 ...

  8. python 生成随机数的几种方法

      随机取一个: import random random.choice(string.digits)#从数字里随机选取一位数字: 随机取多位数:   random.sample(string.dig ...

  9. Linux系统产生随机数的3种方法

    Linux系统产生随机数的3种方法 方法一:生成8位随机数 [root@localhost ~]# echo "$RANDOM$(date +%N%t)" | md5sum | c ...

随机推荐

  1. 加密配置文件(App.Config和Web.config)中connectionStrings通用方法

    1. 背景:根据项目的要求,需要对配置文件配置的数据库连接字符串进行加密,也就是对ConnectinString节点的内容进行加密存储,同时考虑到代码使用连接字符串不需要进行更改,C#会自动对加密的内 ...

  2. PHP 获取指定目录下所有文件(包含子目录)

    PHP 获取指定目录下所有文件(包含子目录) //glob — 寻找与模式匹配的文件路径 $filter_dir = array('CVS', 'templates_c', 'log', 'img', ...

  3. C#:调用webservice时提示对操作的回复消息正文进行反序列化时出错

    主要原因webservice返回值的长度超过readerQuotas中的了maxStringContentLength值,造成返回值截断,不完整,反序列化时出错. <readerQuotas m ...

  4. linux中service *** start与直接运行/usr/bin/***的区别

    在linux想要运行启动一个服务有两种方法: 1,运行/etc/init.d/目录下的shell脚本,还可以有快捷方式,service *** start/ stop/restart /status, ...

  5. spring 官方下载地址(Spring Framework 3.2.x&Spring Framework 4.0.x)

    spring官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径: h ...

  6. DEDE后台登录和前台验证码不显示的解决方法

    DEDE后台登录和前台验证码不显示的解决方法,网络上现在有好几种方法,某些时候还是有用的.说说自己今天遇到的一个情况,跟其他不一样的原因和解决方法:  方法一 1.用ftp把网站根目录下的DATA文件 ...

  7. 常见jquery插件

    1.JQuery Tooltipster 2.Bootstrap 3.jQuery UI 1.10

  8. 关于URLEnCode,URLDeCode,Base64,公钥私钥

    1.Base64非常适合http.mime协议,所以在一些类似webservice中可以用Base64. 用法如下:传出去之前先 Convert.ToBase64String(encryptedByt ...

  9. HttpContextBase转换成HttpContext对象

    有以下方法: 主要是方式就是通过context获取HttpApplication,然后通过Application获取相应的HttpContext ①HttpContext context=HttpCo ...

  10. 规则引擎集成接口(七)规则引擎调用Java类

    规则引擎调用Java类 通过myEclipse编写一个简单工程,其中方法是两数相加等到结果,既结果1=输入值1+输入值2.实现规则调用外部接口的方法有三种. 1:接口实例:在myEclipse中制作一 ...