gpt4 book ai didi

html - 您如何保护不想散列的数据?

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:51 25 4
gpt4 key购买 nike

如果我的任何假设不正确,请纠正我。

当您使用 sha1 散列某些内容时,您无法反转散列数据以获取原始字符串。

正因为如此,如果我有一个电子邮件,我以后需要使用它,存储在数据库中,我不能对它使用 sha1。

但是,我仍然想在发生违规时进行保护,那我该怎么办?

我正在使用将 secret_key 存储在 settings.py 中的 django。

我尝试使用 AES 加密,但注意到编码的字符串越长,返回的加密字符串越长,这是有道理的。但是,加密字符串比原始字符串长得多。是否存在一种加密类型,其中返回的字符串与原始字符串的大小相同?因为我使用的是 django 用户模型并且电子邮件限制为 75,所以如果用户使用 32-75char 的电子邮件,则加密字符串的长度为 128,即 > 75,因此无法将其存储在列中。

最佳答案

三个key concepts of information security是 secret 性、完整性和可用性。在您的情况下,像 SHA1 这样的加密散列提供完整性:您始终可以检查散列值以查看电子邮件是否已被篡改。在您的情况下,您需要保密性,哈希函数无法提供:您希望电子邮件在数据库中不可读,以防数据库遭到破坏。虽然对称加密算法是答案的一部分,但更大的问题是关于 key 管理。一旦你有了加密和解密电子邮件的 key ,你将如何存储它?有多少人可以获得 key ?它会与数据库保存在同一台计算机上吗? (那很危险。)它会保持在同一个网络上吗?你多久换一次 key ?如果你丢失了 key 会怎样?很有可能,您的基础设施与未加密的电子邮件一样容易受到数据泄露的影响。安全性很难,最好将您的精力集中在审核数据库设置上——这是许多人已经做过的事情,具有众所周知且经过生产测试的解决方案——而不是创建复杂的加密系统。

关于html - 您如何保护不想散列的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6803002/

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