linux生成随机密码

通常情况下大家生成密码都好困惑,一来复杂程度不够会不安全,复杂程度够了又不能手动随便敲击键盘打出一同字符(但通常情况下这些字符是有规律的),

使用1password 或者 keepass 这种软件生成也可以,不过貌似1password 要收费,既然这样我们就玩一下好玩的用 linux 来生成随机密码玩玩吧;
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它。

例如,你可以通过数十种方法来生成随机密码。本文将介绍生成随机密码的十种方法。




1. 使用SHA算法来加密日期,并输出结果的前32个字符: date +%s |sha256sum |base64 |head -c 32 ;echo  生成结果如下: ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4  2. 使用内嵌的/dev/urandom,并过滤掉那些日常不怎么使用的字符。这里也只输出结果的前32个字符: < /dev/urandom tr -dc _A-Z-a-z-0-9 |head -c${1:-32};echo  生成结果如下: pDj0Xwz7exD_Qb5B27BwWsM1hrF3a7cJ  3、使用openssl的随机函数 openssl rand -base64 32  生成结果如下: rYJWqJlTLAYeX3j7nCbir20h1k/0CnqLNEuNyTScfKo=  4. 这种方法类似于之前的urandom,但它是反向工作的 tr -cd '[:alnum:]' < /dev/urandom | fold -w32 | head -n1;echo  生成结果如下: tpgudzF7sqtU4yyW2LVhmUQOZIQi87  5. 使用string命令,它从一个文件中输出可打印的字符串 strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 32 | tr -d '\n'; echo  生成结果如下: W4v1iQtkmQ8sIDd9jxDQNpg8HPMOZ8  6. 这是使用urandom的一个更简单的版本 < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo  生成结果如下: rMDlGSPN_bm-IZVFWz9BEi0rF-jIy6gs  7. 使用非常有用的dd命令 dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev  生成结果如下: 9+0RUd4U3HmSdMlgD7j0sf/r09MZFDVBS28W+pO2WcA  8. 你甚至可以生成一个只用左手便可以输入的密码

  

更多内容请访问 李兴利博客

你可能感兴趣的:(linux生成随机密码)