当用户通过登录控件asp.net c#登录时,如何解密存储在数据库中的加密密码

本文关键字:登录 存储 解密 密码 加密 数据库 控件 用户 asp net 何解密 | 更新日期: 2023-09-27 18:22:35

我在asp.net c#中创建了一个自定义注册页面,并加密了密码并将其保存在SQL express数据库中。我想在用户登录时解密该密码。我正在使用内置登录控制??

你能告诉我如何解密密码吗??在登录控件的代码隐藏中,我使用了一个带有where子句的select查询,该子句与以加密形式存储在数据库中的用户密码。

当用户通过登录控件asp.net c#登录时,如何解密存储在数据库中的加密密码

您应该匹配加密的密码,而不是解密所有密码。您应该临时加密用户插入的密码,并在数据库中搜索与加密密码的对应关系。

@trippino建议的另一种选择是将密码的哈希值存储在数据库中,而不是加密版本。当用户登录时,您将创建用户密码的哈希,并将其与存储在数据库中的哈希进行比较。

这通常更安全,因为在任何情况下(除了初始哈希阶段)都不会处理实际用户的密码。

您不会解密密码。您只需使用与存储密码相同的算法匹配加密密码即可。

完成此工作的最简单方法是加密输入的密码,并将其与已保存的密码相匹配。例如,你在注册时和数据库中输入了一个密码"test",它被保存为"193ed271e1eytjgwedguwegdkgwgke',现在当用户在登录时再次输入测试时,用相同的功能对其进行加密,它将再次生成相同的加密代码,如果不是相同的代码,它一定不是相同的密码!