Я использую CryptSharp Library в своем .NET (C#) клиенте для хэширования пароля пользователя со случайно генерируемой солью (Blowfish).Хеширование со случайной солью в C#?
Затем я отправляю хешированный пароль на мой удаленный сервер, где он хранится в базе данных MySQL.
Когда я пытаюсь войти в систему с использованием того же пароля обычного текста, существует несоответствие хеша между тем, что отправлено и что хранится в базе данных. (Скорее всего, из-за изменения соли каждый раз)
Я не хочу отправлять незашифрованный текстовый пароль на мой PHP-конец, как я могу достичь этого, не используя статическую соль?
хеширование (C#):
string passHash = Crypter.Blowfish.Crypt(Password.Text, Crypter.Blowfish.GenerateSalt());
Я предпочел бы не иметь, чтобы создать новый столбец для хранения соли клиента при регистрации, но если я должен буду.
Почему вы используете Blowfish? Существуют и другие более простые способы генерации хэшей непосредственно из .NET framework. Итак, есть ли какая-то конкретная причина, почему вы используете Blowfish? –
Если не Bcrypt (Blowfish), что бы вы порекомендовали? – user1954141
Используйте SHA1Установленный из .NET framework, см. Ответ ниже –