我正在考虑创建一个 Web 应用程序,让人们输入文本(使用 SSL 连接),并且在保存到数据库之前将其加密。目标是只有用户才能解密它。
您可以让用户输入密钥及其数据,并在他们想要查看数据时再次输入,而不是存储密钥。但这对用户来说会有点痛苦。
但是,如果您将密钥存储在服务器上,您就可以访问它并可能解密其数据。
我认为如果不让用户每次输入密钥或存储密钥就不可能做到这一点,但是有什么我没有想到的方法吗?就像也许从只有用户知道的信息生成密钥?涉及 cookie 的东西吗?
你应该调查一下公钥密码学 http://en.wikipedia.org/wiki/Public-key_cryptography。基本思想是,您可以使用只有私钥持有者才能解密的公钥来加密信息。在您的场景中,服务器将记录所有用户的公钥并使用它们来加密信息。然后,您的用户将使用服务器永远看不到的私钥来解密数据。
如果您正在寻找一种在客户端存储私钥的方法,您可以研究坚持JS http://pablotron.org/software/persist-js/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)