Linux下如何生成随机密码


在Linux日常使用中,为了提高安全性,经常需要生成随机密码。本文介绍了几种常用的生成随机密码的方法,供大家参考


1. 使用urandom

   A) < /dev/urandom tr -dc A-Za-z0-9 | head -c${1:-32};echo;

    B) < /dev/urandom tr -dc A-Za-z0-9 | head -c32; echo

    C) tr -cd '[:alnum:]' < /dev/urandom | fold -w32 | head -n1

    D) strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 32 | tr -d '\n'; echo

    E) dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev

    F) </dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo ""


2. 使用基于urandom的命令,如openssl

openssl rand -base64 32

openssl rand -hex 16


3. 使用date+md5sum

date | md5sum | awk '{print $1}'

date | md5sum | base64

date +%s | sha256sum | base64 | head -c 32 ; echo


此方法每秒之内生成的密码相同,因此不适合大量使用


4. 自己写

自己写有可能不是非常随机,暂不考虑


总体上讲,使用openssl的方法算最简洁的,但不如urandom随机性好


成功案例



中国科学院
嘉实基金
北京排水集团
智泓科技
中国科学院
嘉实基金
北京排水集团
智泓科技