我在asp.net c#中创建了一个自定义注册页面,并加密了密码并将其保存在SQL express数据库中。我想解密该密码,当用户登录。我正在使用登录控制生成?如何解密通过登录控制asp.net登录时存储在数据库中的加密密码c#
你能指导我如何解密密码? 在登录控制后面的代码中,我使用了where子句与select数据库中以加密形式存储的 用户密码匹配的select查询。
我在asp.net c#中创建了一个自定义注册页面,并加密了密码并将其保存在SQL express数据库中。我想解密该密码,当用户登录。我正在使用登录控制生成?如何解密通过登录控制asp.net登录时存储在数据库中的加密密码c#
你能指导我如何解密密码? 在登录控制后面的代码中,我使用了where子句与select数据库中以加密形式存储的 用户密码匹配的select查询。
您应该匹配加密的密码,而不是解密所有的密码。您应该临时加密用户插入的密码并查询搜索与加密密码的对应关系的数据库。
您不解密密码。您只需使用您用于存储它的相同算法来匹配加密的密码即可。
@trippino推荐的替代方法是将密码的散列值存储在您的数据库中,而不是加密版本。当用户登录时,您创建用户密码的散列并将其与您存储在数据库中的散列进行比较。
这通常比较安全,因为在任何情况下(除初始散列阶段外)您都在处理实际用户的密码。
完成这项工作的最简单方法是加密输入的密码并将其与已保存的密码相匹配。像例如您在注册时和数据库中输入了一个密码'test',它保存为'193ed271e1eytjgwedguwegdkgwke',现在当用户在登录时再次输入测试时,它会使用相同的功能再次输入测试,它会再次生成相同的加密代码,如果它不是相同的代码,它必须不是相同的密码!
谢谢你的解决方案!:-) –