Linux帐户的密码加密后存放于/etc/shadow文件中。对于Redhat Enterprise版本,默认使用MD5算法,这个算法已经很不安全。很多经典的黑客教程都是教人拿到shadow文件后回去破解出root的密码,如果能用更难破解的sha算法加密密码无疑可以提高服务器的安全性。以下内容是综合了http://www.cyberciti.biz/faq/rhel-centos-fedora-linux-upgrading-password-hashing/ , http://kbase.redhat.com/faq/docs/DOC-15806 的内容而来,针对RHEL5.2以上版本。
显示当前密码加密算法:
# authconfig --test | grep hashing
输出:password hashing algorithm is md5
设置使用sha512算法:
# authconfig --passalgo=SHA512 --update
在我的RHEL5.3版中,提示unknown algorithm sha512, 使用了sha256,还没搞清楚是为什么。再次显示,已经更改为sha256算法。
最后,所有用户都需要重新设置密码才能生效。可以使用
# chage -d 0 userName 强制所有用户下次登录修改密码。
在我用的archlinux上,设置方法不同。参考了WiKi上的内容:http://wiki.archlinux.org/index.php/SHA_Passwords
1.修改
/etc/pam.d/passwd文件
#%PAM-1.0
#password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
#password required pam_unix.so md5 shadow use_authtok
password required pam_unix.so md5 shadow nullok
把最后一行的md5用sha256替换
2.修改/etc/default/passwd文件
CRYPT=des 改为 CRYPT=sha256
3.所有用户重新修改密码。
登录名”是与/etc/passwd文件中的登录名相一致的用户账号
“口令”字段存放的是加密后的用户口令字:
如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了;
5 是用 SHA-256加密;
“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
作者:fly小灰灰
来源:CSDN
原文:https://blog.csdn.net/yaofeino1/article/details/54616440
版权声明:本文为博主原创文章,转载请附上博文链接!
本文章转载自 : 传送门,盗码可耻,我们是代码的搬运工,只搬运,不盗码package cc.restyle.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;/**
* SHA-512 加密
public class SHA512 { /** 传入文本内
散列法提供了一种单向加密的方式。这种方式非常适用于在数据库中存储密码。因为我们无须(也不希望)提供解密的信息。在登录验证时,只需简单地将用户的输入进行散列,并和数据库中存储的散列值进行比较即可。
由于散列码的长度不会随着源数据的长度而变化,因此可用于文件比较和数据流错误检查(和校验码非常类似)。源数据中任意一个位的变化都能够使散列码发生巨大的变化。
HashAlgorithm子类(例如SHA256或者MD5)的ComputeHash方法可以用于生成散列码:...
关于密码加密方式----sha512
在linux系统自动部署时 ks.cfg配置文件中rootpw密码可以使用明文,也可以使用加密过的值。
比如的我密码是:123456,对应加密后的密码是:111passwd$IGXXeEDreLiwIBs8UcxqD0
但是这个密码怎么生成呢,其实和生成linux系统的密码shadow一样,命令如下
perl -e 'print crypt("123456",q($1$password)),"\n"'
PS:当使用特殊字符时,例如@$符时需要在前面加上\,例:@$,否
单向散列函数是一类满足密码学算法安全属性的特殊散列函数,可以根据消息的内容计算出散列值,又称为安全散列函数或者哈希函数,通常用于检验消息完整性。
输入数据称为消息,计算出的散列值称为消息摘要(摘要)。
单向散列函数具有如下特点:
输入长度任意;
输出长度固定;
单向性:无法根据散列值还原出消息;
单向散列函数主要用在:
消息完整性检测;
构造伪随机数生成算法;
消息认证码;
数字签名;
一次性口令;
2. 单向散列算法
单向散列算法是单向...
这里写目录标题一、SHA简介二、SHA家族特点三、SHA工具类四、实践结语
一、SHA简介
安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高。
目前SHA有五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国安全局(NSA)所设计,并由美国国家标准