【发布时间】:2010-10-14 21:34:03
【问题描述】:
我需要创建一个 .NET 应用程序,它将一些机密信息存储到数据库中(例如密码和资料)。在将它们存储到数据库之前,我可以使用对称加密对其进行加密,但如果有人反编译源代码,对称密码可能会被泄露。
由于这将是服务应用程序,我不能要求用户提供对称密码。我也不能使用与机器相关的密码,因为这些数据将从不同的计算机中读取。
最好的方法是什么?
更新: 哈希不适用于这种情况...因为有人需要输入有效密码才能针对哈希进行验证,但事实并非如此。信息必须驻留在数据库中,但将由 Windows 服务应用程序检索(此处没有用户)。没有人输入密码并针对哈希进行验证,所以我需要找回原始密码...
【问题讨论】:
-
密码应该被加盐和散列并存储散列。
-
哈希不适用于这种情况......因为有人需要输入有效密码才能根据哈希验证它,但事实并非如此。信息必须驻留在数据库中,但将由 Windows 服务应用程序检索(此处没有用户)。没有人输入密码并针对哈希进行验证,所以我需要找回原始密码...
-
为什么需要“使用”用户密码?这似乎是一种使用用户帐户的奇怪方式。
-
安妮,你在投票给人们,因为你没有正确地陈述你的问题,在给出关于哈希的答案之前更新不存在。这似乎很不公平。
-
您需要先定义您的威胁模型,然后才能有人给出有用的答案。您要防范哪些威胁?您不试图防范哪些威胁?
标签: c# .net sql cryptography