您好,匿名用户
随意问技术百科期待您的加入

针对密码泄漏事件,都有哪些相对安全的密码加密规则?

0 投票

对于 CSDN 明文存储密码并测漏一事,我实在无力吐槽。

传统的直接md5(password)弱爆了,密码字典一下子就查出来了。所以,希望大家能给我提供一些值得在今后开发中使用的密码加密规则。

我常用的方法是用户提交时,先用 JavaScript MD5 将密码在本地加密,提交到服务端,服务端取用户表中某个字段(比如注册时间)再加密一次md5(datetime+md5(password)),存储二次加密后的密码,自认为这样相对安全,但还是觉得有些许不妥,希望能指出。

用户头像 提问 2012年 12月1日 @ Viktor 上等兵 (290 威望)
分享到:

1个回答

0 投票
 
最佳答案

其实关于安全问题的讨论或者防御方法很多手册都写得非常好,真不知道现在的程序员有没有好好看过这些文字。

比如说php,已在md5的手册上给出了以下连接:http://cn2.php.net/manual/en/faq.pass...

我大概翻译一下要点:
1. md5, sha1, sha256都不适合用来做密码的加密,以上函数都是为了快速有效的验证而设计(我想是指验证文件等运用),所以使用现代的计算机技术,是完全有可能实现暴力破解的

2. 加密password最好是使用更复杂算法的方法比如crypt,并且使用“加盐值(salt)”,楼主所说的方法就是一种加盐法,也就是将原密码通过一些有规律的变化再加密。

3. 第三点解释什么是salt,上面已经解释了,使用了salt以后就算暴力破解了也不见得能立马能看出原密码来,必须知道变化的规律才行

后来我有注意到楼主在客户端用md5加过一次密,我的第一感觉是没什么用,因为客户端的js代码谁都看得见,知道加密的规则,所以这么做如果是防截取的话,感觉用处不是特别大,而且我直接使用截取到的加密后的密码直接传输到服务器端,服务器也看不出什么差别来。

对于传输层来说,还是老老实实用https靠谱点儿

用户头像 回复 2012年 12月1日 @ Taurus 上等兵 (303 威望)
选中 2012年 12月1日 @Viktor
提一个问题:

相关问题

0 投票
1 回复 59 阅读
用户头像 提问 2012年 12月1日 @ Malzahar 上等兵 (335 威望)
0 投票
1 回复 30 阅读
0 投票
1 回复 44 阅读
0 投票
1 回复 72 阅读
用户头像 提问 2012年 12月1日 @ Janna 下士 (667 威望)
0 投票
0 回复 6 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...