Использование одной из реализаций BCrypt на C# для хеширования паролей и их сохранения в базе данных SQL. Однако, когда я возвращаюсь для проверки строки хэша, BCrypt генерирует хеш, отличный от того, который находится в базе данных для сравнения. Соли явно такие же, как и факторы.
Вот что я знаю
$2a$12$vF/1s3MqIzHwnDshyzH/roYUelofrj4UWv./vzWqk4o2K0uwhix7W на самом деле "Qwerty123" и хранится в столбце, который инициализируется как [nvarchar] (200).
Когда я использую BCrypt.Verify() или BCrypt.CheckPassword() в зависимости от реализации, я отслеживаю его до тех пор, пока он не сделает сравнение, и хэш, который он собирается сравнить с ранее упомянутым, равен $2a$12$vF. /1s3MqIzHwnDshyzH/rOKVRePZSXFXaIpDv6.IPkbPEoOxZgSEe
Если вы присмотритесь, то увидите, что соли и факторные части одинаковы. Любая идея, что может быть причиной этого?
Явную реализацию, с которой я работаю, можно найти здесь http://bcrypt.codeplex.com/.
Мой вопрос может быть связан с приложением ASP.NET MVC 3, BCrypt.CheckPassword ошибка