【发布时间】:2023-03-29 03:04:01
【问题描述】:
我正在使用 .net 3.5。这里的问题是我似乎无法让密码匹配。我已经尝试在两者上使用 ComputeHash 方法,但它会生成不同的哈希。因为它们现在是数组的大小不同。 (显然它们基于相同的字符串)。我做错了什么? (“密码”是用户输入的 byte[] 参数)
object dataPassword = database.ExecuteScalar("GetUserPassword", new object[] {userName});
if(dataPassword != null && !(dataPassword is DBNull))
{
SHA1Managed hashProvider = new SHA1Managed();
byte[] hashedPassword = (byte[])dataPassword;
byte[] hash = hashProvider.ComputeHash(password);
result = hashedPassword.Equals(hash);
}
【问题讨论】: