随机密码

Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它。本文介绍了生成随机密码的十种方法,分享给大家。

Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它。例如,你可以通过数十种方法来生成随机密码。本文将介绍生成随机密码的十种方法。
这些方法均收集于Command-Line Fu,并且在我们自己的Linux PC机上测试过。这十种方法的一些在安装了Cygwin的Windows下也是可以运行的,特别是最后一种方法。

生成一个随机密码

对于下面的任何一种方法,你可以通过简单的修改来生成特定长度的密码,或者只使用其输出结果的前N位。希望你正在使用一些类似于LastPass的密码管理器,这样你就不用自己记住这些随机生成的密码了。

1. 这种方法使用SHA算法来加密日期,并输出结果的前32个字符:

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

2. 这种方法使用内嵌的/dev/urandom,并过滤掉那些日常不怎么使用的字符。这里也只输出结果的前32个字符:

  1. < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;

3. 这种方法使用openssl的随机函数。如果你的系统也许没有安装openssl,你可以尝试其它九种方法或自己安装openssl。

  1. openssl rand -base64 32

4. 这种方法类似于之前的urandom,但它是反向工作的。Bash的功能是非常强大的!

  1. tr -cd ‘[:alnum:]‘ < /dev/urandom | fold -w30 | head -n1

5. 这种方法使用string命令,它从一个文件中输出可打印的字符串:

  1. strings /dev/urandom | grep -o ‘[[:alnum:]]‘ | head -n 30 | tr -d ‘\n‘; echo

6. 这是使用urandom的一个更简单的版本:

  1. < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6

7. 这种方法使用非常有用的dd命令:

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

8. 你甚至可以生成一个只用左手便可以输入的密码:

  1. </dev/urandom tr -dc ‘[email protected]#$%qwertQWERTasdfgASDFGzxcvbZXCVB‘ | head -c8; echo ""

9. 如果每次都使用上述某种方法,那更好的办法是将它保存为函数。如果这样做了,那么在首次运行命令之后,你便可以在任何时间只使用randpw就可以生成随机密码。或许你可以把它保存到你的~/.bashrc文件里面。

  1. randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}

10. 最后这种生成随机密码的方法是最简单的。它同样也可以在安装了Cygwin的Windows下面运行。在Mac OS X下或许也可以运行。我敢肯定会有人抱怨这种方法生成的密码没有其它方法来的随机。但实际上如果你使用它生成的全部字符串作为密码,那这个密码就足够随机了。

  1. date | md5sum

是的,这种方法也极其好记。

时间: 2024-11-05 11:30:50

随机密码的相关文章

产生随机密码总结

方式一: cat /dev/urandom | sed 's/[^a-zA-Z0-9]//g' | strings -n C | head -n L 其中C表示字符串的字符数,L表示要生成多少行字符 例子: [[email protected] ~]# cat /dev/urandom | sed 's/[^a-zA-Z0-9]//g'  |strings -n 5|head -n 1 tJxJp 方式二: [[email protected] ~]# cat /dev/urandom | he

Linux 命令行生成随机密码的十种方法

Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法.这些方法均收集于Command-Line Fu,并且在我们自己的Linux PC机上测试过.这十种方法的一些在安装了Cygwin的Windows下也是可以运行的,特别是最后一种方法. 生成一个随机密码 对于下面的任何一种方法,你可以通过简单的修改来生成特定长度的密码,或者只使用其输出结果的前N位.希望你正在使用一些类似于LastPass的密

php生成随机密码的几种方法

文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/523 使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码.随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考. 方法一: 1.在 33 – 126 中生成一个随机整数,如 35, 2.将 35 转换成对应的ASCII码字符,如 35 对应 # 3.重复以上 1.2 步骤 n 次

URL检查 跳板机 创建用户 Nginx启动 随机密码的脚本

URL检查 #!/bin/bashpath=/home/scriptsMAIL_GROUP="[email protected] [email protected]"PHOTO_GROUP="13502693568 18023569846". /etc/init.d/functionscheck_count=0 url_list(http://www.baidu.comhttp://blog.51cto.comhttp://www.qq.com http://192

MySQL5.7解压版详细安装教程,在最后一步需要随机密码

这里为百度经验 http://jingyan.baidu.com/article/ff42efa93580c4c19e2202b6.html 然而在最后一步,回车不能够越过密码. 需要在解压的mysq文件下的data文件下找到Acer.err,用记事本打开, Crtl+H查找 A temporary password is generated for [email protected]: 这句话的后面就是我们需要的随机密码了.

linux随机密码生成

产生随机密码的2种方式: makepasswd --char50 openssl rand -base64 32

PowerShell脚本:随机密码生成器

脚本名称:s随机密码生成器_v2.63.ps1脚本作用:产生随机密码.每密码字符个数,密码数量,存盘位置等可以自定义.脚本用法:脚本采用了硬编码,所以你需要打开脚本,修改如下变量:$生成密码总个数 = 1000$每个密码位数 = 12 $存盘目录 = 'e:\脚本ps\log_ps\'$大文件所在盘符 = 'f:\'并保存,然后运行脚本,脚本运行的较慢,可以缩小powershell窗口,n分钟后去[$存盘目录]收取生成的密码文件[小写加数字加特殊符号密码.txt],[大小写加数字密码.txt],

利用Linux系统生成随机密码的10种方法

Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,并输出结果的前32个字符: date +%s |sha256sum |base64 |head -c 32 ;echo 生成结果如下: ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4 2. 使用内嵌的/dev/urandom,并过滤掉那些日常不怎么使用的字符.这里也只输出结果的前32个字符

Php中常见的4种随机密码生成方法详解

使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码.随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考. 方法一: 1.在 33– 126 中生成一个随机整数,如 35, 2.将 35 转换成对应的ASCII码字符,如 35 对应 # 3.重复以上 1.2 步骤 n 次,连接成 n 位的密码 该算法主要用到了两个函数, mt_rand( int $min , int $max ) 函数

MySQL5.7修改默认密码、随机密码

mysql5.7以后默认生成随机密码,修改root用户密码 1.修改配置参数Linux: /etc/my.cnf Windows:  C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证或者启动服务时添加命令: service mysqld start --skip-grant-tables 2.重启 mysql 服务Linux: