文章目录
- 1.使用SHA算法来加密日期,并输出结果前32个字符:
- 2.使用内嵌的/dev/urandom,并过来掉那些日常不怎么使用的字符。这里只是输出结果前32个字符
- 3.使用openssl的随机函数
- 4.这种方法类似于之前的urandom,但它是方向工作的
- 5.使用string命令,它从一个文件中输出可打印的字符串
- 6.这是使用urandom 的一个更简单的版本
- 7.使用非常有用的dd命令
- 8.甚至可以生成一个只用左手便可以输入的密码
- 9.如果你每次执行上述的方法可能会觉得很麻烦,你可以考虑一些这个方法。那就是把它保存为函数,就可以在任何时候只要执行randpw就可以自动生成随机密码,或许也可以保存到~./bashrc文件里面
- 10.最后这种是最为简单的方法,可以说是最简单的方法了
密码是需要安全,如果复杂程度不够就会产生不安全,但是太复杂手动创建就会很麻烦
liunx最大的特点就是对于同样的事情,可以有多种的方法,主要你可以找到适合你的就OK
1.使用SHA算法来加密日期,并输出结果前32个字符:
[root@king ~]# date +%s | sha256sum |base64 | head -c 32 ; echo
MmY4MWRhOWRiYWYyYzQxZjI0YTY2OTQy
2.使用内嵌的/dev/urandom,并过来掉那些日常不怎么使用的字符。这里只是输出结果前32个字符
[root@king ~]# < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo
4YJkO--bQlTirzDqaovzfNVda83mk7Rh
随机生成8位密码:
[root@king 脚本之家]# tr -dc A-Za-z0-9_ </dev/urandom | head -c 8 | xargs
oFySNYNv
3.使用openssl的随机函数
[root@king ~]# openssl rand -base64 32
vU7CEIyDPbO7HgwPBVaN8ugrPM75qhbOXT4Va2sMKFo=
4.这种方法类似于之前的urandom,但它是方向工作的
[root@king ~]# tr -cd '[:alnum:]' < /dev/urandom | fold -w32 | head -n1; echo
xzjYv3wZ78wOsMiiAzDENxuHCPzhukTh
5.使用string命令,它从一个文件中输出可打印的字符串
[root@king ~]# strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 32 | tr -d 32 | tr -d '\n'; echo
kgPkTCcJyQVvFsn6KSL1phXbNTba7xC
6.这是使用urandom 的一个更简单的版本
[root@king ~]# < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c 32 ;echo
_ejlhn5lVUcH7wCI14KBaAiiTqCFbx-M
7.使用非常有用的dd命令
[root@king ~]# dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 |rev | cut -b 2- |rev
B8dCPpQe/w/wC7fh61zi/6z6hHcPRHFpQ9SuscFP5Kg
8.甚至可以生成一个只用左手便可以输入的密码
[root@king ~]# </dev/urandom tr -dc '123456!@#%^^&*qwsxcyhbngkhb' | head -c32 ;echo
4c26@43y!43&!n^n3ncxx#4*gs#4q#k4
9.如果你每次执行上述的方法可能会觉得很麻烦,你可以考虑一些这个方法。那就是把它保存为函数,就可以在任何时候只要执行randpw就可以自动生成随机密码,或许也可以保存到~./bashrc文件里面
[root@king ~]# randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}
[root@king ~]# randpw
RuBgcp2jlWreMl4K
[root@king ~]# randpw
Bz-G__Da0W0Um-hY
[root@king ~]# randpw
PeQ_RNNlupdNAK7T
10.最后这种是最为简单的方法,可以说是最简单的方法了
[root@king ~]# date | md5sum
af0d4e416309530da33ae53ce02531a8 -
[root@king ~]# date | base64
MjAxOeW5tCAwMeaciCAyM+aXpSDmmJ/mnJ/kuIkgMTY6NDY6NDUgQ1NUCg==
如果觉得这密码不带劲,可以生成一个核弹密码
[root@king ~]# ifconfig | md5sum
e8806b07c7a317f70d7848542859db65 -
[root@king ~]# ifconfig | base64
ZW5zMzM6IGZsYWdzPTQxNjM8VVAsQlJPQURDQVNULFJVTk5JTkcsTVVMVElDQVNUPiAgbXR1IDE1
MDAKICAgICAgICBpbmV0IDE5Mi4xNjguMTU5LjExICBuZXRtYXNrIDI1NS4yNTUuMjU1LjAgIGJy
b2FkY2FzdCAxOTIuMTY4LjE1OS4yNTUKICAgICAgICBpbmV0NiBmZTgwOjo1ZWJiOjlkMzM6M2Q0
Mzo1MzYzICBwcmVmaXhsZW4gNjQgIHNjb3BlaWQgMHgyMDxsaW5rPgogICAgICAgIGV0aGVyIDAw
OjBjOjI5OjY4OmM1OmQzICB0eHF1ZXVlbGVuIDEwMDAgIChFdGhlcm5ldCkKICAgICAgICBSWCBw
YWNrZXRzIDIyMDU4ICBieXRlcyAxMTUzMjQ0OCAoMTAuOSBNaUIpCiAgICAgICAgUlggZXJyb3Jz
IDAgIGRyb3BwZWQgMCAgb3ZlcnJ1bnMgMCAgZnJhbWUgMAogICAgICAgIFRYIHBhY2tldHMgMjQ5
MjkgIGJ5dGVzIDQ2NTYwMTcxICg0NC40IE1pQikKICAgICAgICBUWCBlcnJvcnMgMCAgZHJvcHBl
ZCAwIG92ZXJydW5zIDAgIGNhcnJpZXIgMCAgY29sbGlzaW9ucyAwCgpsbzogZmxhZ3M9NzM8VVAs
TE9PUEJBQ0ssUlVOTklORz4gIG10dSA2NTUzNgogICAgICAgIGluZXQgMTI3LjAuMC4xICBuZXRt
YXNrIDI1NS4wLjAuMAogICAgICAgIGluZXQ2IDo6MSAgcHJlZml4bGVuIDEyOCAgc2NvcGVpZCAw
eDEwPGhvc3Q+CiAgICAgICAgbG9vcCAgdHhxdWV1ZWxlbiAxMDAwICAoTG9jYWwgTG9vcGJhY2sp
CiAgICAgICAgUlggcGFja2V0cyAwICBieXRlcyAwICgwLjAgQikKICAgICAgICBSWCBlcnJvcnMg
MCAgZHJvcHBlZCAwICBvdmVycnVucyAwICBmcmFtZSAwCiAgICAgICAgVFggcGFja2V0cyAwICBi
eXRlcyAwICgwLjAgQikKICAgICAgICBUWCBlcnJvcnMgMCAgZHJvcHBlZCAwIG92ZXJydW5zIDAg
IGNhcnJpZXIgMCAgY29sbGlzaW9ucyAwCgo=
Red Hat Enterprise Linux Server release 6.8 (Santiago)
wwwpas2@QHD-MMSC-KHDMH-mportal01:/opt/aspire/product/wwwpas2 > uname -r
2.6.32-642.el6.x86_64
wwwpas2@QHD-MMSC-KHDMH-mportal01:/opt/aspire/product/wwwpas2 > ssh -V
OpenSSH_8.0p1, OpenSSL 1.0.1u 22 Sep 2016
wwwpas2@QHD-MMSC-KHDMH-mportal01:/opt/aspire/product/wwwpas2 > rpm -qa |grep pam
pam_krb5-2.3.11-9.el6.x86_64
fprintd-pam-0.1-22.git04fd09cfa.el6.x86_64
pam-1.1.1-24.el6.x86_64
pam_passwdqc-1.0.5-8.el6.x86_64
pam-devel-1.1.1-24.el6.x86_64
wwwpas2@QHD-MMSC-KHDMH-mportal01:/opt/aspire/product/wwwpas2 > openssl version
OpenSSL 1.0.1u 22 Sep 2016