【发布时间】:2011-04-28 02:54:31
【问题描述】:
我被要求加密数据库中的各种数据库字段。
问题是这些字段被读取后需要解密。
我正在使用 Django 和 SQL Server 2005。
有什么好主意吗?
【问题讨论】:
标签: python sql sql-server django encryption
我被要求加密数据库中的各种数据库字段。
问题是这些字段被读取后需要解密。
我正在使用 Django 和 SQL Server 2005。
有什么好主意吗?
【问题讨论】:
标签: python sql sql-server django encryption
是的。告诉谁让你变得真实。没有/没有什么意义。如果是关于存储的值——企业版 2008 可以存储加密的数据库文件。
否则,如果您真的需要(有所有缺点)只需加密它们并将它们存储为字节字段。
【讨论】:
如果您要存储密码等内容,可以这样做:
根据存储的密码检查它
您可以使用 hashlib 模块在 Python 中创建 SHA-256 哈希。
希望对你有帮助
【讨论】:
我遇到了同样的问题,并创建了以下解决方案:http://djangosnippets.org/snippets/2489/
我碰巧使用 M2Crypto 作为密码引擎,但如果需要,可以换掉。
正如 TomTom 指出的那样,这样做只是提高了攻击者的门槛,而不是使恶意解密成为不可能 - 除了访问您的数据库之外,他们现在还需要访问您存储输入密钥派生函数的密码短语的任何位置。但是,通过以这种方式将密钥从它所保护的数据中分离出来,您至少现在可以选择进一步保护该密钥(例如使用密钥管理服务器)以提高标准。纵深防御是一个很好的策略,但您还需要确定对于给定应用程序来说什么是过度杀伤力。
加密任何可能对搜索或排序有用的字段也是一个糟糕的主意(我只使用这个技巧来存储不支持正确标记化 OAuth 连接的 Web 服务的 OAuth 凭据)。
【讨论】: