我编程在JSF一个新的站点。 目前,i程序登录。
我几年前使用MD5,但与彩虹表,我认为它NOCH安全了。
所以,我应该如何存储在数据库中的密码?
Answer 1:
这里是极好的,详细的指南: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2007/july/enough-with-the-rainbow-tables-what-you-need -to-知识有关安全密码的方案/
Answer 2:
你要做的第一件事就是寻找从供应商预先建立的系统。 你想尽可能多的推动,因为这地的人谁为生编写安全代码,因为它是很容易得到错误的微妙的方式,你甚至不知道,直到为时已晚。 这样,你也可以从他们那里得到的服务更新,所以你才不必再考虑一下。
除此之外,记得要生成每个帐户的盐去与你的密码,并使用安全哈希算法(MD5是为速度,不一定安全)。 SHA1是很常见的,虽然它开始变老了。
Answer 3:
我建议用SHA512和盐腌哈希。 (存储每个人的随机值和散列密码和值在一起。)
Answer 4:
如果你看到了PKCS#5(或更好,找到一个有信誉的实现,已经这样做的话),你会发现一个非常好的机制。
基本上,你选择一个号码(500讲),密码哈希算法,和盐(加入到密码的末尾,使其少猜测的随机数据)。
- 就拿密码,盐它,它哈希。
- 拍摄效果,盐是(同盐)和有。
- 重复步骤2 N次(在本例中,N为500)。
- 存储最终哈希,盐渍结果,N和您的密码数据库中的盐本身一起。
文章来源: How should i save my Password?