C# - 存储用户密码以进行比较

jam*_*mes 1 c# security password-protection

我将用户登录加密密码存储在数据库(SQL Server)中.由于API限制,密码需要在C#端加密,因此我无法使用数据库的内置加密.什么是加密这些密码的最快/最简单的方法,以便我可以将它们与用户以后输入第三方服务的内容进行比较?

我是C#的新手,我知道密码永远不应该是纯文本,这就是为什么我要确保我拥有最高的安全性.我已经尝试过使用这个RSA.EncryptValue()功能,但我很失落如何正确使用它.

任何帮助表示赞赏 - 提前谢谢.

-Jimmy

Ste*_*ens 12

您不想加密和存储密码.您想生成一个哈希并存储它.然后,当用户登录时,您将重新生成散列并将其与存储在数据库中的散列进行比较.

这个问题的答案提供了如何在c#中对密码进行散列的示例(一个答案包括有关执行"salted"散列的信息).