我需要匹配用户输入的安全答案和存储在aspnet_Membership表中的安全答案。 我不想使用resetpassword(“Securityanswer”)方法来验证用户。Asp.net成员 - 如何明确地匹配安全答案?
有什么办法来加密输入的安全答案或解密存储的安全答案。
谢谢。
我需要匹配用户输入的安全答案和存储在aspnet_Membership表中的安全答案。 我不想使用resetpassword(“Securityanswer”)方法来验证用户。Asp.net成员 - 如何明确地匹配安全答案?
有什么办法来加密输入的安全答案或解密存储的安全答案。
谢谢。
/转换进入秒ANS以字节数组/
Dim bytes As Byte() = Encoding.Unicode.GetBytes(secAns)
/这非常importent转换您的关键基地64串拿到原单hased密码。/
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)
无法解密存储在成员资格表中的安全答案。 您可以散列您收到的答案,然后将其与存储在数据库中的散列值进行比较。 对于使用FormsAuthentication.HashPasswordForStoringInConfigFile ..
我知道这是有点老....但我无法得到任何张贴的答案对这个问题的工作,但我通过反复试验想通了,认为“安全答案“的存储方式与存储密码的方式相似(如果您将密码设置为散列)。我可以使用下面的文章的回答有关密码完成上述原题的目标: ASP.NET Membership C# - How to compare existing password/hash
我刚才用的盐从数据库中的密码和它的工作就像一个魅力。希望这可以帮助别人拔出头发好几天。
嗨,感谢rply.FormsAuthentication.HashPasswordForStoringInConfigFile接受两个参数。你可以告诉我什么传递参数? – SaurabhR 2011-02-04 12:11:46