2014-09-17 3 views
1

Я перемещаю свое приложение с PHP на C# MVC. Я использую следующий метод для шифрования паролей:Реализация Blowfish для C# .NET - Перемещение с PHP на C#

string password_hash (string $password) 

По умолчанию, password_hash() использует Blowfish алгоритма хэширования и производит хэш с префиксом $2y$.

Я рассмотрел и дал понять, что существует довольно много вариантов реализации алгоритма, но никто из них, похоже, не работает с моими существующими хэшами, и я не уверен, могу ли я доверять любым из них ,

Я пробовал:

  • Bcrypt.NET из NuGet
  • This
  • Я думал дать This идти, пока я не понял, что он говорит 'UNLISTED' на странице NuGet ,

Мне нужно, чтобы я мог проверить существующие хэши в своей базе данных и восстановить их, используя стандартный метод C# .MVC Identity Framework, когда пользователь снова войдет в систему.

Как проверить пароли, сгенерированные с использованием password_hash() в PHP, используя C#?

+0

Я с поправками на мой вопрос, описывая проблему и запрашивая решение. Спасибо – Luke

+0

Спасибо, что убрали закрытое голосование ... о, подождите! – Luke

ответ

0

Я только что наткнулся на пакет под названием CryptSharp, который, похоже, проверяет пароли аналогично тому, как password_verify() в PHP. Я испытал это на нескольких существующих хэши паролей, полученных PHP ...

using CryptSharp; 
bool matches = Crypter.CheckPassword("password", "password hash"); 

Вот Nuget Package и Docs

Я использовал версию 2.0.0 ...

+0

Я надеюсь, что это поможет некоторым PHP-разработчикам на C# конвертировать :) – Luke

Смежные вопросы