一、通过内部系统变量($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. webstorm 运行配置gulp

    打开Run/Debug Configurations,设置

  2. 基于Bootstrap、Jquery的自适应导航栏

    css代码: .kch_nav{width: 100%; position: fixed;z-index: 999;top:0;left: 0;right: 0;height: 69px;backgr ...

  3. PowerProfile.java与power_profile.xml

    转载自http://blog.csdn.net/green1900/article/details/42427871 现在诸多关于电池管理的应用做的极其绚烂,可实现如耗电应用排行.剩余时间计算.关闭耗 ...

  4. myBatis之事务管理

    1. myBatis单独使用时,使用SqlSession来处理事务: public class MyBatisTxTest { private static SqlSessionFactory sql ...

  5. AS快捷键

    Ctrl+Q 显示关键字的提示文档 Ctrl+鼠标点击 查看关键字的源码 ctrl+T 在不同的选项卡中进行切换 ctrl+J 提示当前位置输入模板 Ctrl+P 提示参数 Alt+Enter 提示 ...

  6. hmtl弹出框样式

    @model Web.Manager.Models.SendMessage @{ ViewBag.Title = "消息发布"; Layout = null;} <link ...

  7. Java面向对象㈠ -- 封装

    Java的面向对象有三大特征:封装.继承.多态.这里主要对封装进行讲解. 封装可以理解为隐藏一个类的成员变量和成员函数,只对外提供需要提供的成员函数. Java的封装主要通过访问权限控制符:priva ...

  8. ant 介绍 http://blog.csdn.net/sunjavaduke/archive/2007/03/08/1523819.aspx

    转自: 本内容包含了Ant的历史简要介绍,Ant的功能以及Ant框架的介绍,并对下载安装使用Ant进行了示例介绍,同时通过一个Java程序讲解了Ant的基本使用方法. 1.       Ant简介:这 ...

  9. Nopcommerce 二次开发1 基础

    1  Doamin    酒店 namespace Nop.Core.Domain.Hotels { /// <summary> /// 酒店 /// </summary> p ...

  10. 查看SQLServer最耗资源时间的SQL语句

    执行最慢的SQL语句 SELECT (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N'总 ...