Linux的特点之一,就是给我们提供了多种选择。一种目的,可以多种方法解决。
如何在Linux下产生随机密码呢?我给大家收集了10来种方法,仅供参考。用得着的就mark下。对于下面的任何命令,都可以控制输出结果的长度。
#1
date +%s | sha256sum | base64 | head -c 32 ; echo
上述命令使用SHA来哈希日期,输出头32个字节。
#2
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
上述命令使用内嵌的/dev/urandom,只输出字符,结果取头32个。
#3
openssl rand -base64 32
上述命令使用系统自带的openssl的随机特点来产生随机密码
#4
tr -cd ‘[:alnum:]‘ < /dev/urandom | fold -w30 | head -n1
#5
strings /dev/urandom | grep -o ‘[[:alnum:]]’ | head -n 30 | tr -d ‘\n’; echo
通过过滤字符命令,输出随机密码
#6
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6
这个命令比起来比较简单了
#7
dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
上述命令使用命令dd的强大功能
#8
</dev/urandom tr -dc ’12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB’ | head -c8; echo “”
上述命令输出很简洁
#9
randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}
使用randpw随时产生随机密码,可以把它放到~/.bashrc文件里面。
(我这里没有什么密码产生,可留言讨论)
#10
date | md5sum
如果只用这一个,足够了,因为它太简洁了,:-)
原文链接:http://bentutu.com/?p=1343