作为密码,本身就是很严肃的问题。有些网站为了方便直接把密码存到数据库中,数据库被黑,所有用户轻则被迫更改密码,重则造成隐私财产损失。所以数据库密码一定要加密,用md5是一种不错的选择。现在很多网站采用暴力破解md5,存储常用密码与md5对比的数据库对md5加密后的密码造成了威胁,虽说只可能破解小部分的密码,而且对于单纯低强度的密码很好破解,但是对于设计人员来说这也是很不合理的。
为了解决以上问题,设计人员需要搞一套密钥和算法。那密钥+md5组合方式。只要密钥和算法不泄露,密码除了猜出是不可能破解的。当然如果猜出,那也是用户设置的密码不合理,与设计者无关了。
算法例如
设数据库中存储的用户密码为:P
随机产生一个两位的字母:S
我们写入数据库或者cookie的这个加密后的密码为: S+md5(S+md5(p))