Asp.net membership Asp.net成员身份如何明确匹配安全答案?

Asp.net membership Asp.net成员身份如何明确匹配安全答案?,asp.net-membership,Asp.net Membership,我需要匹配用户输入的安全答案和存储在aspnet_成员表中的安全答案。 我不想使用resetpassword(“Securityanswer”)方法来验证用户 是否有任何方法可以加密输入的安全答案或解密存储的安全答案 谢谢。无法解密存储在成员资格表中的安全答案。 您可以对收到的答案进行散列,然后将其与存储在数据库中的散列值进行比较。 为此,请将输入的秒数转换为字节数组/ /这对于将密钥转换为base 64字符串以获取原始hased密码非常重要/ 我知道这有点老了。。。。但我无法让这个问题的任何张

我需要匹配用户输入的安全答案和存储在aspnet_成员表中的安全答案。 我不想使用resetpassword(“Securityanswer”)方法来验证用户

是否有任何方法可以加密输入的安全答案或解密存储的安全答案


谢谢。

无法解密存储在成员资格表中的安全答案。 您可以对收到的答案进行散列,然后将其与存储在数据库中的散列值进行比较。 为此,请将输入的秒数转换为字节数组/

/这对于将密钥转换为base 64字符串以获取原始hased密码非常重要/


我知道这有点老了。。。。但我无法让这个问题的任何张贴答案发挥作用,但通过反复试验,我发现“安全答案”的存储方式与密码的存储方式类似(如果您将密码设置为哈希)。我能够使用以下关于密码的帖子答案来实现上述原始问题的目标:


我只是使用了数据库密码中的盐,它就像一个符咒。希望这有助于其他人连续几天拔掉头发。

您好,感谢rply.FormsAuthentication.HashPasswordForStoringInConfigFile接受两个参数。您能告诉我作为参数传递什么吗?第一个参数是要散列的密码,第二个参数是要使用的散列技术。有关更多详细信息,请访问:如果您认为答案有用,请将其标记为答案。:)
            Dim bytes As Byte() = Encoding.Unicode.GetBytes(secAns)
            Dim src As Byte() = Convert.FromBase64String(key) 

            /*Concatenate sec ans and hash key*/

            Dim dst As Byte() = New Byte(src.Length + (bytes.Length - 1)) {}

            Buffer.BlockCopy(src, 0, dst, 0, src.Length)
            Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length)

            /*Create algo object for SHA1*/

            Dim algorithm As HashAlgorithm = HashAlgorithm.Create("SHA1")

            /*Compute hash value of concatenated ans and key*/

            Dim inArray As Byte() = algorithm.ComputeHash(dst)

            /*Convert hashed ans back to string*/

            Dim hashedAns As String = Convert.ToBase64String(inArray)