首页 > 代码库 > 4.openssl passwd
4.openssl passwd
该伪命令用于生成加密的密码。
[root@xuexi tmp]# whatis passwd passwd (1) - update user‘s 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。