我有以下代码,它从密码创建哈希,然后将其与数据库中存储的哈希密码进行比较。通过 http 一切正常。这适用于在 c# 4.0 下运行的 asp.net webforms 应用程序
HMACSHA1 hash = new HMACSHA1();
hash.Key = Encoding.Unicode.GetBytes(password);
encodedPassword = Convert.ToBase64String(hash.ComputeHash(Encoding.Unicode.GetBytes(password)));
但是,在 https/ssl 上运行时,编码密码不同,因此用户无法登录。
.net 框架在通过 SSL 计算哈希时会做不同的事情吗?
如果我单步执行代码并复制编码的密码并更新我的数据库,那么我可以通过 SSL 登录。
有任何想法吗?
非常感谢