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

C# 当用户通过登录控件asp.net c登录时,如何解密存储在数据库中的加密密码#,c#,asp.net,C#,Asp.net,我在asp.net c#中创建了一个自定义注册页,并对密码进行了加密并将其保存在SQL express数据库中。我想在用户登录时解密该密码。我正在使用内置登录控件 你能告诉我如何解密密码吗?? 在登录控件的代码隐藏中,我使用了一个select查询,其中where子句与 数据库中以加密形式存储的用户密码。您应该匹配加密密码,而不是解密所有密码。您应该临时加密用户插入的密码,并查询数据库,搜索与加密密码的对应关系。您应该匹配加密密码,而不是解密所有密码。您应该临时加密用户插入的密码,并查询数据库,搜

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

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

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

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

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

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

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


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

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


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

执行此操作的最简单方法是加密输入的密码,并将其与已保存的密码匹配。例如,您在注册时在数据库中输入了密码“test”,它被保存为“193ED271E1EYTJGwedgeUwegDKGWKE”,现在,当用户在登录时再次输入测试时,使用相同的函数将其加密,它将再次生成相同的加密代码,如果它不是相同的代码,它必须不是相同的密码

执行此操作的最简单方法是加密输入的密码,并将其与已保存的密码匹配。例如,您在注册时在数据库中输入了密码“test”,它被保存为“193ED271E1EYTJGwedgeUwegDKGWKE”,现在,当用户在登录时再次输入测试时,使用相同的函数将其加密,它将再次生成相同的加密代码,如果它不是相同的代码,它必须不是相同的密码

感谢您的解决方案!…:-)感谢您的解决方案!…:-)