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 ...
随机推荐
- 加密配置文件(App.Config和Web.config)中connectionStrings通用方法
1. 背景:根据项目的要求,需要对配置文件配置的数据库连接字符串进行加密,也就是对ConnectinString节点的内容进行加密存储,同时考虑到代码使用连接字符串不需要进行更改,C#会自动对加密的内 ...
- PHP 获取指定目录下所有文件(包含子目录)
PHP 获取指定目录下所有文件(包含子目录) //glob — 寻找与模式匹配的文件路径 $filter_dir = array('CVS', 'templates_c', 'log', 'img', ...
- C#:调用webservice时提示对操作的回复消息正文进行反序列化时出错
主要原因webservice返回值的长度超过readerQuotas中的了maxStringContentLength值,造成返回值截断,不完整,反序列化时出错. <readerQuotas m ...
- linux中service *** start与直接运行/usr/bin/***的区别
在linux想要运行启动一个服务有两种方法: 1,运行/etc/init.d/目录下的shell脚本,还可以有快捷方式,service *** start/ stop/restart /status, ...
- spring 官方下载地址(Spring Framework 3.2.x&Spring Framework 4.0.x)
spring官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径: h ...
- DEDE后台登录和前台验证码不显示的解决方法
DEDE后台登录和前台验证码不显示的解决方法,网络上现在有好几种方法,某些时候还是有用的.说说自己今天遇到的一个情况,跟其他不一样的原因和解决方法: 方法一 1.用ftp把网站根目录下的DATA文件 ...
- 常见jquery插件
1.JQuery Tooltipster 2.Bootstrap 3.jQuery UI 1.10
- 关于URLEnCode,URLDeCode,Base64,公钥私钥
1.Base64非常适合http.mime协议,所以在一些类似webservice中可以用Base64. 用法如下:传出去之前先 Convert.ToBase64String(encryptedByt ...
- HttpContextBase转换成HttpContext对象
有以下方法: 主要是方式就是通过context获取HttpApplication,然后通过Application获取相应的HttpContext ①HttpContext context=HttpCo ...
- 规则引擎集成接口(七)规则引擎调用Java类
规则引擎调用Java类 通过myEclipse编写一个简单工程,其中方法是两数相加等到结果,既结果1=输入值1+输入值2.实现规则调用外部接口的方法有三种. 1:接口实例:在myEclipse中制作一 ...