Я использую C # и 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 проверяет пароль с помощью хеша, если он нигде не сохраняет соль. Единственное, что у меня есть, это то, что он каким-то образом добавляет соль в конец хэша.
Это правильное предположение?