首页 > 资讯列表 > 软件学院 >> 系统程序

小技巧:在Linux下生成crypt加密密码

系统程序 2014-12-13 03:39:04 转载来源: 网络整理/侵权必删

        当我们用红帽Kickstart脚本或useradd或其他方式写东西的时候,经常会需要用到crypt命令加密生成的密码格式。那么,有没有其他方式可以生成这种格式的密码?事实上,方法有很多

  

      当我们用红帽Kickstart脚本或useradd或其他方式写东西的时候,经常会需要用到crypt命令加密生成密码格式。那么,有没有其他方式可以生成这种格式的密码?事实上,方法有很多。

      我们可以用mkpasswd命令:这个命令就是用来生成crypt格式的密码的: mkpasswd       输入命令后,程序会要求输入一个密码,然后生成crypt格式的字符串。

      如果用Apache Web服务器,那么也可以用htpasswd: htpasswd -nd user       用户名(user)叫什么都无所谓,我们关注的是密码。这个命令会输出一个user:password格式的字符串,直接把password字段复制下来就ok了。

      有OpenSSL的话,可以使用openssl命令: openssl passwd -crypt myPassword       把上面命令中的myPassword用你想用的密码字符串代替。

      其他还有一些需要把命令在命令行中直接输入的方式,不过这种做法有个问题,就是在ps命令中可以看到密码,同时密码也会被记录入shell历史。

      不过这个问题是有解决办法的:用脚本,或者语言解释器。

      比如使用Perl: perl -e "print crypt('password','sa');"Perl       需要一个加密盐,如这里使用了sa(salt指加密中用到的随机字符串,用不同的salt可以生成不同的加密结果)。

      Ruby也一样需要加密盐: ruby -e 'print "password".crypt("JU"); print("n");'PHP       也可以: php -r "print(crypt('password','JU') . "n");"       需要注意的是,如果不使用加密盐(如上面命令中的JU),那么输出的字符串将不是crypt加密格式,而是MD5加密格式的。所以,加密盐其实是必须的参数。

      Python需要导入crypt库并使用加密盐: python -c 'import crypt; print crypt.crypt("password","Fx")'       这里的加密盐是Fx。

      数据库也可以生成crypt密码。比如用MySQL: echo "select encrypt('password');" | mysql       另外,Tcl,Ubuntu下的trf,还有Lua的lua-crypt插件也可以实现相同的目的。

      欢迎补充其他的方式!  

(责任编辑:admin)

标签: 技巧 Linux 生成 crypt 加密 密码


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持