Мне нужна была реализация 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). Вы можете составить себе схему на основе этого, если хотите.