我使用一个带有salt数据的字符串通过BCrypt.Net库来散列密码。
代码:
string src = Salt + UserName + Key + Password
var hash = Bc.HashPassword(src, 12);当我尝试使用错误的字符串数据(例如,不同的密码)验证散列数据时,BCrypt.Verify(wrongStr,hash)返回的值为true。
有什么想法吗?字符串的长度有限制吗?
发布于 2013-11-08 15:00:48
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);https://stackoverflow.com/questions/18965072
复制相似问题