Bcrypt.Net.Verify 在假字符串数据上返回 true
本文关键字:数据 返回 true 字符串 Net Verify Bcrypt | 更新日期: 2023-09-27 18:32:31
我正在使用带有盐数据的字符串来使用 BCrypt.Net 库对密码进行哈希处理。
法典:
string src = Salt + UserName + Key + Password
var hash = Bc.HashPassword(src, 12);
当我尝试使用错误的字符串数据(例如不同的密码)验证哈希数据时,BCrypt.Verify(wrongStr,hash)
返回的值为 true
。
有什么想法吗?字符串的长度限制吗?
bcrypt 返回一个 60 个字符的字符串确保您的文件可以处理这个问题
并且您的验证是错误的,您需要使用布尔值!
string myPassword = "password";
string mySalt = BCrypt.GenerateSalt();
//mySalt == "$2a$10$rBV2JDeWW3.vKyeQcM8fFO"
string myHash = BCrypt.HashPassword(myPassword, mySalt);
//myHash == "$2a$10$rBV2JDeWW3.vKyeQcM8fFO4777l4bVeQgDL6VIkxqlzQ7TCalQvla"
bool doesPasswordMatch = BCrypt.CheckPassword(myPassword, myHash);