$pass='123456';
echo"MD5加密后".md5($pass);//不安全
echo"crypt加密后".crypt($pass);//比较乱的密码刷新后还会变
echo"crypt复杂加密后".crypt($pass,substr($pass,0,2));//还是不爽
echo"无敌加密后".md5(crypt($pass,substr($pass,0,2)));//现在让黑客如何破这个密码???
?>
最后的密码还是32位初看都以为是MD5加密
可无论对方MD5的HASH值多么庞大几个T的数据都无法破解出来
md5只是摘要,不能算加密。你的意思是密码防止碰撞出来嘛,加点盐就好。
参阅:
md5(md5(str))
等同于md5(stringa-f0-9{32})
。。。。。。不对称加密就好了
如果我把md5换成sha1呢
加密的时候加一个随机参数进去,一并加密,就可以防止破解了。
这个。。。。加密说实话防范一下外人。自己写一个加密算法。然后别人怎么破解?你让每一个账号的密码都是独一无二的。让他根本找不到规律。当然,你说这样也有风险。别人废了特别大的力气。得到了什么?
这个真是没必要,只会消耗更多的资源
建议楼主了解一下这个
最好的是无密码模式!可惜,我自己开发了,别人不会来整合你的会员系统!
加盐密码哈希,用PBKDF2
PHP函数:password_hash
推荐文章:
可以参考RSA加密方法
之前看过新浪的也没加密,京东是用了RSA加密的,我也网上找资料模拟过京东的那个:
现在觉得完全没必要,因为用了https协议,在服务层就会使用非对称加密,看了下新浪的,别人在html页面做任何加密。另外php服务器端没必要做加密,主要是传输层做加密,现在HTTPS已经解决这一问题,所以完全没必要,以上个人想法,欢迎吐槽
今天惊人地发现我们的代码里真有这样写的:
md5(crypt($pass,...);
马上就改了。