【发布时间】:2015-09-17 20:09:35
【问题描述】:
我需要在数据库字段中存储“类似密码的信息”。我希望它被加密,但我需要在使用它之前对其进行解密。所以我不能使用 Hash/Salt 解决方案。
如果攻击者将其深入到数据库中,它可能会走得太远,但我认为这至少会阻止错误的数据转储。
如何加密一个值将其存储到数据库中并解密相同的值以供以后使用?
哈希不是一个选项(我实际上在其他部分使用它)。
在哪里存储私钥?用户不会提供任何东西。
这是一个 C# 解决方案,因此 .NET 特定的东西会很棒。我的问题非常相似,但我正在寻找基于 .net 的解决方案:Two-way encryption: I need to store passwords that can be retrieved
编辑: 霍根几乎回答了我的问题。我在那里找到了一些例子,它们的范围从非常复杂到相当简单。看起来 AES 仍然很好,所以我将使用该方法。感谢您的所有帮助。
【问题讨论】:
-
在 google 搜索如何使用
SHA1加密 SQL Server 中的密码,一旦你完成了设置,你就可以轻松地在 .net 端编写自己的加密/解密代码。我已经完成了在此之前,即使您不使用 SQL Servers 加密,您仍然可以编写自己的代码进行一些谷歌搜索,正如我之前所说的 -
@MethodMan 你在拖钓吗? -- sha1 是一个哈希函数。
-
您考虑过使用 AD 吗?
-
Dan 我不确定我是否理解,.net 中支持许多 2 路加密功能,并且有大量可用示例——您的问题是否有一些具体问题无法通过标准解决方案解决?正如措辞所言,您的问题很笼统,听起来您正在寻求建议
-
我看到了一些非常复杂的解决方案,例如:stackoverflow.com/questions/202011/encrypt-and-decrypt-a-string/…,然后我看到了一些相当简单的解决方案 codeproject.com/Tips/839656/… 我缺少什么,因为简单的解决方案看起来很简单。
标签: c# encryption