Как использовать BouncyCastle в C # для одностороннего хеширования Blowfish? - PullRequest
10 голосов
/ 22 июня 2011

Я видел тонну вопросов о Blowfish и C #, и обычный ответ - BouncyCastle . Тем не менее, в проекте практически нет документации, и я не могу обойти структуру каталогов, чтобы даже найти модульные тесты в качестве примеров. Я имею в виду, что Blowfish известен как Asn1, Bcpg, Crypto (в общем?), EC, Ocsp, Pkcs или как? Мне не хватает знаний предметной области, чтобы знать, что означают все аббревиатуры в исходном коде.

Есть ли какие-нибудь полезные статьи или блоги или что-то, что удалось использовать C # BouncyCastle API для Blowfish? Моя основная задача - использовать Blowfish для хеширования паролей.

Ответы [ 2 ]

5 голосов
/ 22 июня 2011

Для хеширования пароля я бы рекомендовал использовать bcrypt , который внутренне использует Blowfish .Преимущество использования bcrypt заключается в том, что вы можете легко настроить, насколько дорого будет генерировать ваш выходной хеш.Это важно, поскольку самая большая проблема многих популярных алгоритмов хеширования заключается в том, что они работают очень быстро, и это позволяет атаке методом грубой силы проходить через множество перестановок, чтобы найти совпадение.Указав большой фактор работы, вы можете сделать его медленным (с точки зрения компьютера, но все же быстрым с точки зрения человека), и поэтому атака грубой силой становится невозможной.

Уже доступны C # реализации .

0 голосов
/ 22 июня 2011

Также вы должны проверить: Почему BCrypt.net GenerateSalt (31) возвращается сразу? И реализация кодекса: bcrypt.codeplex.com

...