Я использую С# и BCrypt.Net для хеширования своих паролей.
Например:
string salt = BCrypt.Net.BCrypt.GenerateSalt(6);
var hashedPassword = BCrypt.Net.BCrypt.HashPassword("password", salt);
//This evaluates to True. How? I'm not telling it the salt anywhere, nor
//is it a member of a BCrypt instance because there IS NO BCRYPT INSTANCE.
Console.WriteLine(BCrypt.Net.BCrypt.Verify("password", hashedPassword));
Console.WriteLine(hashedPassword);
Как BCrypt проверяет пароль с помощью хэша, если он не сохраняет соль в любом месте. Единственная идея, которую я имею, это то, что она каким-то образом добавляет соль в конце хэша.
Это правильное предположение?