zoukankan      html  css  js  c++  java
  • Linux系统产生随机数的六种方式

    有时需要给创建的用户设置密码,为了用户的安全,在设置密码时可以使用随机数进行设置,那么Linux产生随机数有下面六种方式:

    • 系统环境变量$RANDOM
    • openssl产生
    • 时间date
    • 系统设备
    • uuid
    • expect

    1、系统环境变量$RANDOM

    [root@localhost ~]# echo $RANDOM
    26663
    [root@localhost ~]# echo $RANDOM
    5285
    [root@localhost ~]# echo $RANDOM
    5497
    [root@localhost ~]# echo $RANDOM
    23465

    2、openssl产生

    [root@localhost ~]# openssl rand -base64 8
    cjc1Z4QvEGs=
    [root@localhost ~]# openssl rand -base64 10
    jI+ZXxVxYgCRpA==
    [root@localhost ~]# openssl rand -base64 6
    WGBAdKqM
    [root@localhost ~]# openssl rand -base64 1
    nA==

    3、时间date

    [root@localhost ~]# date +%s
    1612683160
    [root@localhost ~]# date +%s%N
    1612683165626189211
    [root@localhost ~]# date +%s%N
    1612683182106480530

    4、系统设备

      /dev/random设备存储的是系统当前运行环境的实时数据,它可以当作系统某时刻的的唯一数据,因此可以通过文件读取的方式来读取里面的数据;/dev/urandom这个设备的数据与/dev/random中的数据是一样的,不过它是非阻塞的,读取数据不会产生阻塞。

    [root@localhost ~]# head /dev/urandom|cksum
    2679943833 2195
    [root@localhost ~]# head /dev/urandom|cksum
    2788103193 3732

    5、uuid

    [root@localhost ~]# cat /proc/sys/kernel/random/uuid 
    aebd5cd2-ae61-44d8-8cc8-111ef2113cfd
    [root@localhost ~]# cat /proc/sys/kernel/random/uuid 
    678ceee0-1411-45bf-ad94-43861db7dd21
    [root@localhost ~]# cat /proc/sys/kernel/random/uuid 
    56d4b0d2-f51f-4706-a55d-6ffc61d90d6a

    6、expect

    [root@localhost ~]# yum install -y expect
    [root@localhost ~]# mkpasswd -l 8
    q2m#WY0j
    [root@localhost ~]# mkpasswd -l 10
    Tm9]kov2kX
    [root@localhost ~]# mkpasswd -l 12
    94IhsjmRywq-

    上述使用的方法产生的随机数长短不一,使用md5sum命令可以进行统一:

    [root@localhost ~]# echo $RANDOM|md5sum
    7e4429abc272aa8cd9d35ddef3551bdb  -
    [root@localhost ~]# openssl rand -base64 5|md5sum
    2e961c32a0f91515bbaf69cf934292ce  -
    [root@localhost ~]# date +%s%N|md5sum
    097609c9aa34368c8be9e27d1b9ba1ec  -
    [root@localhost ~]# head /dev/urandom|cksum|md5sum
    85d5170f7b1c2462a6aeb9602854ad03  -
    [root@localhost ~]# cat /proc/sys/kernel/random/uuid|md5sum 
    bb265e5d301b3e41e2d186146536bef0  -
    [root@localhost ~]# mkpasswd -l 8|md5sum
    426fa1ef6764ede8bab8557e935ecc59  -
    作者:iveBoy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Solidity 官方文档中文版 3_安装Solidity
    javaweb监听器
    ssh基础配置大全
    servlet
    压缩介绍
    jsp小结
    servlet生命周期
    后台权限验证
    进程&线程
    StrutsPreparedAndExcuteFilter与Interceptor
  • 原文地址:https://www.cnblogs.com/shenjianping/p/14385489.html
Copyright © 2011-2022 走看看