Кто-нибудь знает о хорошей реализации bcrypt, я знаю, что этот вопрос задавался раньше, но он получил очень мало ответов. Я немного не уверен, что просто выберу реализацию, которая появляется в Google, и думаю, что мне может быть лучше использовать sha256 в пространстве имен System.Security.Cryptography, по крайней мере, тогда я знаю, что он поддерживается! Что ты думаешь?
источник
BCrypt.Net кажется самой популярной библиотекой на данный момент.
http://bcrypt.codeplex.com/
Вот пример того, как использовать его для хеширования пароля:
Пример вывода:
источник
Вы можете найти обновленную реализацию BCrypt для .Net здесь: http://bcrypt.codeplex.com/
источник
Мне нужна была реализация BCrypt при перемещении чего-либо из PostgreSQL (в котором есть pg_crypto) в SQLite (в котором нет), поэтому я написал свой собственный. Судя по этому сообщению, я не единственный, кто в этом нуждается, я решил поставить на него лицензию и выпустить. URL-адрес:
http://zer7.com/software.php?page=cryptsharp
Реализация Blowfish, стоящая за ней, является портом реализации C Брюса Шнайера, являющейся общественным достоянием, и успешно работает на всех официальных тестовых векторах.
Код BCrypt я написал сам на основе спецификации. Я также создал сценарий PHP, который генерирует случайные пароли длиной от 0 до 100 и соли, шифрует их и выводит в тестовый файл. Код C # пока соответствует этим в 100% случаев. Вы можете использовать сценарий и проверить это самостоятельно.
Библиотека также включает код PBKDF2, который работает для любого HMAC, в отличие от реализации только SHA-1 в .Net (добавлен сегодня - я собираюсь сделать SCrypt на C # в ближайшее время, а для этого требуется PBKDF2 с HMAC-SHA256). Вы можете составить себе схему на основе этого, если хотите.
источник
Неверный ответ, см. Ниже
Все постфиксные алгоритмы "Cng" (криптография следующего поколения) в .Net Framework теперь используют bcrypt. Например, SHA256Cng .
На самом деле MS BCrypt (BestCrypt) не относится к той, что основана на шифре Blowfish - спасибо, RobbyD, за комментарий.
Не удаляю ответ, на всякий случай, если кто-то еще запутается.
источник
Возможно, вы пробовали эту функцию MS BCryptCreateHash C ++ ?? Кажется, присутствует в Windows Server 2008 и Windows Vista.
Кроме того, вы, вероятно, также можете проверить следующий класс MS C # BCryptNative.cs .
источник