首页 > 技术文章 > 生成随机数的方法

betterquan 2019-08-17 16:27 原文

生成随机数的犯法; 
1)使用系统变量$RANDOM 0-32767 加密性不好,利用md5sum并截取需要的位数
echo "$RANDOM" |md5sum|cut -c 1-8
2)通过openssl产生随机数
openssl rand -base64 8
3)通过时间date 获得随机数 
date +%s%N %s从linux系统开始到现在的秒数,%N纳秒
4)通过UUID生成随机数
UUID全称为通用唯一识别码(Universally Unique Identifier,UUID)
是一个软件建构的标准,亦为自由软件基金会Open Software Foundation OSF
的组织在分布式计算环境Distributed Computin Environment DCE领域的一部分

    cat /proc/sys/kernel/random/uuid
5)expect附带的mkpasswd生成
    mkpasswd命令依赖于expect 必须安装

    mkpasswd -l 9 -d 2 -c 3 -C 3 -s 1
    -l 指定密码长度   默认为9   length
    -d 指定密码中的数字数量  默认为2   digits
    -c 指定密码中小写字母的数量     默认为2    lowercase chars
    -C 指定密码中大写字母的数量     默认为2        upper chars
    -s 指定密码中的特殊字符数量     默认为1        special chars
以上都必须有

推荐阅读