当前位置:  开发笔记 > 运维 > 正文

你怎么能加密用户数据所以只有他们可以解密它?

如何解决《你怎么能加密用户数据所以只有他们可以解密它?》经验,为你挑选了2个好方法。

我正在考虑创建一个允许人们输入文本的Web应用程序(使用SSL连接),并在保存到数据库之前对其进行加密.目标是让它只有用户可以解密它.

您可以让用户输入密钥及其数据,并在他们想要查看数据时再次输入密钥,而不是存储密钥.不过,这对用户来说会有点痛苦.

但是,如果您将密钥存储在服务器上,则您可以访问它并可能解密其数据.

如果没有用户每次都输入密钥或存储密钥,我认为不可能做到这一点,但是我有没有想到的方法?就像可能只从用户知道的信息生成密钥?什么涉及饼干?



1> Kyle Cronin..:

您应该研究公钥加密.基本思想是您可以使用只有私钥持有者才能解密的公钥来加密信息.在您的方案中,服务器将记录所有用户的公钥,并使用它们来加密信息.然后,您的用户将使用服务器从未看到的私钥来解密数据.

如果您正在寻找存储私钥客户端的方法,您可以查看PersistJS.



2> Rob Haupt..:

听起来你可以用PGP做点什么.如前所述,您将拥有公钥和私钥.私钥可以通过密码保护.这样你可以将私钥存储在db上,因为它仍然需要使用密码来使用它.

最大的问题是如果用户忘记密码,他们可能会丢失这些数据.您可以使用备用解密密钥(ADK)来解决这个问题.该密钥随所有内容自动加密,可以在多个人之间进行分割.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有