example - ¿Cómo usar BouncyCastle en C#para el hash unidireccional Blowfish?
bouncycastle c# (2)
Para el hash de contraseñas, recomendaría ir con bcrypt, que internamente usa Blowfish . La ventaja de utilizar bcrypt es que puede configurar fácilmente qué tan caro es generar el hash de salida. Esto es importante ya que el mayor problema con muchos algoritmos hash populares es que funcionan muy rápido y esto permite que un ataque de fuerza bruta se ejecute a través de muchas permutaciones para encontrar una coincidencia. Al especificar un factor de trabajo grande, puede hacer que sea más lento de ejecutar (en términos informáticos, pero aún rápido en términos humanos) y, por lo tanto, un ataque de fuerza bruta se vuelve inviable.
Ya hay implementaciones de C # disponibles.
He visto muchas preguntas sobre Blowfish y C # y la respuesta habitual es BouncyCastle . Sin embargo, el proyecto básicamente no tiene documentación y no puedo encontrar el camino a través de la estructura de directorios incluso para encontrar pruebas unitarias como ejemplos. Quiero decir, ¿Blowfish es conocido como Asn1, Bcpg, Crypto (en general?), EC, Ocsp, Pkcs, ¿o qué? Me falta el conocimiento de dominio de saber qué significan todas las siglas en el código fuente.
¿Hay algún artículo o blog útil o algo que haya tenido éxito al usar la API C # BouncyCastle para Blowfish? Mi principal necesidad es utilizar Blowfish para el hash de contraseñas.
También debe verificar: ¿Por qué BCrypt.net GenerateSalt (31) regresa inmediatamente? Y la implementación codeplex : bcrypt.codeplex.com