安全密码存储
回答
最简单的方法来获得您的密码存储方案是安全的使用标准库。
由于安全性往往比许多程序员可以独自解决的问题复杂得多,并且存在更多无形的可能性,所以使用标准库几乎总是最简单和最安全(如果不是唯一的话)可用选项。
更多信息,请参见this answer
你可能想散列密码 - 不加密它。 Check out SHA-1。散列意味着您无法像使用加密一样检索原始数据。相反,你所做的是对用户输入进行散列,并将其与数据库中的散列进行比较,以查看他们是否拥有正确的密码。这样做会增加安全性,就好像数据库已经被破坏一样 - 一堆哈希值是无用的。
您需要使用适当的安全算法来加密和散列密码。
- PHP的mhash具有适当的散列函数
- A full example这里SO
我认为你的意思是mhash库。 – rook 2010-12-02 17:11:22
@对,对不起。深夜:) – 2010-12-02 20:34:04
有哈希密码(最好用食盐)的可能性:
$salt = random_string($length = 5);
$hash = $salt . sha1($salt . $password);
或存储加密的(只有当你的MySQL连接是SSL加密):
INSERT INTO `user` (`user`,`pass`) VALUES("username",ENCRYPT("password","secretkey"))
好了,你不应该用MD5加密它们(这不是真正的安全,大多数黑客都有转换表)。
因此,您可以使用SHA1(通常使用)对其进行哈希处理。
如果您想了解更多的安全性,你可以添加更多的salt
这是一个关键您可以添加像这样(只是举个例子,通常使用):
salt+sha1(salt+pass)
这种组合可以与许多语言使用。
在SHA-1(sha1 php内置函数)中进行散列密码与几次盐析递归(上述答案中的代码相同,只循环几次)。这应该是足够的保护,所以即使入侵者以某种方式得到他们的手上的哈希,他们不应该能够破解他们...
- 1. Gtk#:安全存储用户密码
- 2. Eclipse安全密码存储和ssh-agent
- 3. 安全密码存储和恢复
- 4. 如何安全地存储加密密码
- 5. 存储密钥和密码的安全方法,用于asp.net
- 6. 如何存储密码以解密安全数据?
- 7. 春季安全与休眠,存储加密密码
- 8. 如何安全地存储密钥?
- 9. Android的安全存储密钥
- 10. 沿着加密的AES密钥存储密码哈希的安全隐患
- 11. 通过POST API请求更安全地存储Python存储密码
- 12. 我能做些什么来快速安全地存储密码?
- 13. Laravel存储安全密码并进行身份验证
- 14. 如何安全地存储注册/登录信息,如密码?
- 15. 如何安全地存储没有哈希的密码?
- 16. 什么是存储Paypal专用密码的安全方式? (PHP)
- 17. 安全存储密码时仍需要访问明文
- 18. 如何使用greasemonkey安全地存储密码?
- 19. 这是一个安全的方式来存储我的密码?
- 20. 使用Passport和MySQL存储密码的安全
- 21. 本地安全地存储用于Web服务的密码
- 22. 最安全的地方存储密码的散列
- 23. 将ASP.NET会员系统转换为安全密码存储
- 24. PHP - 在cookie中存储密码是否安全?
- 25. 在rake任务中存储密码安全吗?
- 26. 如何安全地存储远程服务的密码?
- 27. 安全地在服务器上存储密码
- 28. 这个cookie系统对于存储密码是否安全?
- 29. 使用Powershell与CruiseControl.Net进行安全密码存储?
- 30. 如何在设备上安全地存储密码?
也是如此SHA1 http://www.phocean.net/2009/05/10/sha-1-vulnerable-consider-sha-2。html – 2010-12-02 12:18:55