crypt是个密码加密函数,它是基於Data Encryption Standard(DES)演算法。 crypt命令加密生成的密码格式主要应用于红帽Kickstart脚本或useradd或其他方式写东西时。那么,有没有其他方式可以生成这种格式的密码?答案是肯定的,今天我就给大家介绍几种。
一、用mkpasswd命令生成crypt加密密码:
这个命令就是用来生成crypt格式的密码的:
mkpasswd |
输入命令后,程序会要求输入一个密码,然后生成crypt格式的字符串。
二、Apache Web服务器,可以用htpasswd命令生成crypt加密密码:
htpasswd -nd user |
用户名(user)叫什么都无所谓,我们关注的是密码。这个命令会输出一个user:password格式的字符串,直接把password字段复制下来就ok了。
三、有OpenSSL的话,可以使用openssl命令生成crypt加密密码:
openssl passwd -crypt myPassword |
把上面命令中的myPassword用你想用的密码字符串代替。
四、数据库也可以生成crypt加密密码:
比如用MySQL:
echo "select encrypt('password');" | mysql |
另外,Tcl,Ubuntu下的trf,还有Lua的lua-crypt插件也可以实现相同的目的。
其他还有一些需要把命令在命令行中直接输入的方式,不过这种做法有个问题,就是在ps命令中可以看到密码,同时密码也会被记录入shell历史。
不过这个问题是有解决办法的:用脚本,或者语言解释器。
比如使用Perl:
perl -e "print crypt('password','sa');" |
Perl需要一个加密盐,如这里使用了sa(salt指加密中用到的随机字符串,用不同的salt可以生成不同的加密结果)。
如果大家还有什么可以生成crypt加密密码的方法,不妨也可以推荐一下。
小知识之加密盐:
加密盐是在用单项函数加密前,将一根字符串加到密码上,可以用来保护密码。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。