需要将密码存储在其他服务的mysql中。哈希不起作用,我需要解密密码。如何安全地做到这一点?只有我认为安全的方法是使用硬件令牌解密密钥?还有其他问题吗?对不起我英语不好。如何在mysql中安全地存储密码以后在php中解密它们,而不是哈希?
回答
您问如何安全地将加密数据存储在MySQL中,以便可以自动解密。
这是事情:加密和解密本身很容易。 Php提供了mcrypt软件包。 http://php.net/manual/en/mcrypt.examples.php
但是,这种程序的安全性取决于安全密钥管理。如果您使用MySQL的应用程序能够解密数据,并且密钥可用,那么穿透您的系统的网络犯罪分子将可以访问它。网络犯罪分子可以阅读你的PHP代码,看你如何解密这些数据,并自己做。所以这个过程的安全取决于你的对手获得你的钥匙有多难。
我想你可以创建一个接受加密数据并返回解密数据的Web服务。该Web服务可以在其中保存密钥。你可以保护它在几个方面:
- 把它在防火墙后面
- 率限制到一个几十解密运算每秒
- 保持里面的解密密钥。
- 记录所有操作(但不是解密的数据)并努力监控日志。
另一种可能性是做一些客户端的事情。开源密码安全软件Keepass http://keepass.info/就是一个很好的例子,Bruce Schneier的密码管理员也是如此。 https://www.schneier.com/blog/archives/2014/09/security_of_pas.html
单向密码散列(http://php.net/manual/en/book.password.php)可防止解密,但仍允许进行密码验证。窃取单向散列的密码要困难得多。
尊重,如果密码保护有价值的资产,这不适合缺乏经验的人。网络犯罪分子比我们其他人遥遥领先。
感谢您的专业答复,我也这样认为,但我认为使用一些硬件USB令牌,如果可能的话。 – user2557769 2015-04-02 17:59:22
- 1. 如何安全地存储没有哈希的密码?
- 2. 密码哈希不工作在PHP mysql
- 3. 使用哈希安全地存储用户密码
- 4. 如何解密哈希安全尔康
- 5. 与哈希存储密码
- 6. 存储MySQL的密码哈希
- 7. 如何在将密码存储在我的数据库之前安全地对密码进行哈希处理?
- 8. Javascript密码哈希发送不安全
- 9. 如何存储密码以解密安全数据?
- 10. 沿着加密的AES密钥存储密码哈希的安全隐患
- 11. 在数据库中存储密码哈希的未加密盐
- 12. 只有当密码存在时才存储密码哈希值
- 13. 如何在android中安全地存储加密密钥?
- 14. 如何在C++中安全地存储AES加密密钥?
- 15. 如何安全地在.Net中存储加密密钥?
- 16. 如何在java中安全地存储加密密钥?
- 17. 如何安全地将密码存储在文件中?
- 18. 在会话安全中存储登录名和密码哈希值?
- 19. 我可以安全地分发哈希密码吗?
- 20. PHP - 在cookie中存储密码是否安全?
- 21. 如何安全地存储加密密码
- 22. 在mysql中存储哈希密码的正确数据类型是什么?
- 23. 存储密码哈希 - VARCHAR VS VARBINARY
- 24. 用于密码存储的PHP中最慢的哈希函数?
- 25. 如何使用PHP中的哈希加密和解密字符
- 26. 在数据库中存储salt +密码哈希和防止密码攻击
- 27. 安全密码存储
- 28. 如何安全地存储密钥?
- 29. 如何检查PHP中的哈希表中存在的密钥?
- 30. 如何在设备上安全地存储密码?
如果您认为需要解密密码,则可能是错误的。 – neminem 2015-04-02 17:01:58
你不能也不应该这样做,因为密码必须是保密的,并且你使用MD5哈希的方式,如果你正在尝试进行登录,你应该散列用户的输入并通过散列密码进行比较在数据库上。 – xsami 2015-04-02 17:07:08
通常,您不希望允许他们被解密。如果你可以解密他们,那么其他人也可以解决问题。 – 2015-04-02 17:08:28