一、通过内部系统变量($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. Linux 编译ACE

    1.下载 从官网下载地址 http://download.dre.vanderbilt.edu/previous_versions/选择一个版本下载. 注意,如果是在linux上编译,需要下载.gz结 ...

  2. LeetCode "Is Subsequence"

    There are 3 possible approaches: DP, divide&conquer and greedy. And apparently, DP has O(n^2) co ...

  3. powerdesigner导出word

    1.网上下载word模板,或者是自制模板 2.报告->导出,选择刚才下载的模板,导出即可

  4. 为没有源码的DLL文件添加强名称

    为没有源码的DLL文件添加强名称 如果项目中引用了其他没有源码的dll文件,并且此dll文件是没有强名称的程序集,则编译时会出现类似 "Assembly generation failed ...

  5. 【总结】JS里的数组排序

    虽然贴了2种办法,但是思路是一致的,都是先从数组里找出最小值,一种是找到一个放进新数组: 另一种是找到后和第i个数交换,i每次自增 主要用到2个函数: 从一个数组里找出最小值: 两个元素互换位置 fu ...

  6. 远程桌面不能连接,提示awgina.dll取代错误的解决办法

    远程桌面不能连接,错误提示:您不能初始化一个远程桌面连接,因为在远程计算机上的windows登录软件被不兼容的软件c:\windows\system32\awgina.dll取代,如下图所示: 原因: ...

  7. 数据库schema设计与优化

    原文地址 1. 前言 对于数据库而言,在日常开发中我们主要的关注点有两块,一个是schema的结构设计,另一个就是索引的优化,这两块是影响我们最终系统结构和性能的关键部分,自然也是我们花费精力最多的部 ...

  8. 13 年的 Bug 调试经验总结

    在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug.最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可 ...

  9. 【转】EXCEL不显示科学计数法

    源地址:http://jingyan.baidu.com/article/e4d08ffdcc304e0fd3f60d69.html 2法无效,不知道为何

  10. Django 之 ForeignKey、ManyToMany的访问方式

    1.ForeignKey 情况I: from django.db import models class Blog(models.Model): pass class Entry(models.Mod ...