gpt4 book ai didi

ruby-on-rails - 将用户生成的文本安全地存储在数据库中 (Ruby/Rails)

转载 作者:数据小太阳 更新时间:2023-10-29 06:55:11 25 4
gpt4 key购买 nike

我正在尝试找到一种方法将用户生成的文本安全地存储在数据库中(这样只有用户才能访问他/她存储的文本)。我可以让 Rails 使用用户密码作为 key 来加密和解密用户的文本条目,但是如果用户忘记了他们的密码,就没有办法解密他们以前的内容/文本(因为 Rails 应用程序使用 BCrypt 来仅存储密码的哈希值)。

有人知道怎么做吗?看起来 Dropbox 做了类似的事情:“存储在 Dropbox 服务器上的所有文件都经过加密 (AES-256),没有您的帐户密码就无法访问。” (http://www.dropbox.com/help/27) 然而,它们允许您重置密码,我假设它们不会在任何地方存储您的纯文本密码。

我错过了什么?任何建议将不胜感激。谢谢!

最佳答案

逻辑上只有两个选择:

  1. 您使用服务器已知的 key (用户的 key 散列或其他标识符)进行加密。入侵者可能会读取所有加密数据,但用户永远不会丢失加密 token ,因为它在您的服务器上。
  2. 您使用只有用户知道的 key (例如他的密码)来加密数据。然后入侵者将无法读取加密数据,但如果用户丢失了他的 key ,数据就和一堆随机位一样好。

很明显,Dropbox 选择了 (1),因为他们允许重置您的密码。

关于ruby-on-rails - 将用户生成的文本安全地存储在数据库中 (Ruby/Rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4404940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com