在Linux下生成crypt加密密码
【摘要】當(dāng)我們用紅帽Kickstart腳本或useradd或其他方式寫東西的時(shí)候,經(jīng)常會(huì)需要用到crypt命令加密生成的密碼格式。那么,有沒有其他方式可以生成這種格式的密碼?事實(shí)上,方法有很多
1、我們可以用mkpasswd命令:這個(gè)命令就是用來生成crypt格式的密碼的:
mkpasswd
輸入命令后,程序會(huì)要求輸入一個(gè)密碼,然后生成crypt格式的字符串。
2、如果用Apache Web服務(wù)器,那么也可以用htpasswd:
htpasswd-nduser
用戶名(user)叫什么都無所謂,我們關(guān)注的是密碼。這個(gè)命令會(huì)輸出一個(gè)user:password格式的字符串,直接把password字段復(fù)制下來就ok了。
3、有OpenSSL的話,可以使用openssl命令:
opensslpasswd-cryptmyPassword
把上面命令中的myPassword用你想用的密碼字符串代替。
4、其他還有一些需要把命令在命令行中直接輸入的方式,不過這種做法有個(gè)問題,就是在ps命令中可以看到密碼,同時(shí)密碼也會(huì)被記錄入shell歷史。
不過這個(gè)問題是有解決辦法的:用腳本,或者語言解釋器。
比如使用Perl:
perl-e"printcrypt('password','sa');"
Perl需要一個(gè)加密鹽,如這里使用了sa(salt指加密中用到的隨機(jī)字符串,用不同的salt可以生成不同的加密結(jié)果)。
5、Ruby也一樣需要加密鹽:
ruby-e'print"password".crypt("JU");print("
");'
6、PHP也可以:
php-r"print(crypt('password','JU')."
");"
需要注意的是,如果不使用加密鹽(如上面命令中的JU),那么輸出的字符串將不是crypt加密格式,而是MD5加密格式的。所以,加密鹽其實(shí)是必須的參數(shù)。
7、Python需要導(dǎo)入crypt庫并使用加密鹽:
python-c'importcrypt;printcrypt.crypt("password","Fx")'
這里的加密鹽是Fx。
作者:jz
總結(jié)
以上是生活随笔為你收集整理的在Linux下生成crypt加密密码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git很简单--图解攻略
- 下一篇: 谷歌浏览器如何正确离线网页