码迷,mamicode.com
首页 > 其他好文 > 详细

4.openssl passwd

时间:2016-11-22 17:47:48      阅读:403      评论:0      收藏:0      [点我收藏+]

标签:salt   命令   strong   open   ati   相同   否则   格式   ring   

该伪命令用于生成加密的密码。

[root@xuexi tmp]# whatis passwd
passwd               (1)  - update users authentication tokens
passwd               (5)  - password file
passwd [sslpasswd]   (1ssl)  - compute password hashes

直接man passwd会得到修改用户密码的passwd命令帮助,而不是openssl passwd的帮助,所以man sslpasswd。

[root@xuexi tmp]# man sslpasswd
NAME
       passwd - compute password hashes

SYNOPSIS
       openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin] [-noverify] [-quiet] [-table] {password}

使用openssl passwd支持3中加密算法方式:不指定算法时,默认使用-crypt。

-crypt:默认的。如果加盐(-salt)算密码,只取盐的前2位,2位后面的所有字符都忽略。

-1:基于MD5的算法代号。/etc/shadow文件中的密码算法代号为6,代表sha512,代号为5代表sha256。虽然sslpasswd不支持代号5和6,但还是可以使用-1得到密码,然后复制到/etc/shadow,这也是有效的。

-apr1:apache中使用的备选算法代号。

加密时还支持加入盐选项-salt来改变整个加密过程。

在命令行中直接输入要加密的密码password或者使用-salt时,将不需要交互确认,否则会交互确认密码。

[root@xuexi ~]# openssl passwd  ?/*交互式*/
Password: 
Verifying - Password: 
mPuBNpIYfjpew
[root@xuexi ~]# openssl passwd 123456;openssl passwd 123456  ?/*非交互*/
R7J9OiPEN5xUw
C1lvfmeMltEWw

由上面的测试可知,使用默认的-crypt加密的密码是随机的。但是加入盐后,如果密码一样,盐一样,那么加密结果一样。

[root@xuexi ~]# openssl passwd -salt xxx 123456;openssl passwd -salt xxx 123456

xxkVQ7YXT9yoE

xxkVQ7YXT9yoE

同时也看到了-crypt加密算法只取盐的前两位。

如果盐和密码任意一个不一样,加密结果都不一样。

[root@xuexi ~]# openssl passwd -salt xyx 123456;openssl passwd -salt xxx 123456

xyJkVhXGAZ8tM

xxkVQ7YXT9yoE

测试下MD5格式的加密算法。

[root@xuexi ~]# openssl passwd -1 -salt xxxx 123456;openssl passwd -1 -salt xxxx 123456

$1$xxxx$PineAlNyTqasdnANnnq6d.

$1$xxxx$PineAlNyTqasdnANnnq6d.

可以看出,结果比-crypt的算法更长了。盐的长度也不再限于2位了。但是盐相同,密码相同,结果还是会相同。

4.openssl passwd

标签:salt   命令   strong   open   ati   相同   否则   格式   ring   

原文地址:http://www.cnblogs.com/f-ck-need-u/p/6089869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!