Pregunta

Necesito una biblioteca de cifrado estándar, entregada por Microsoft, que funcione tanto para .NET 2.0 como para C ++. ¿Qué sugerirías?

Encontramos que AES solo se ofrece en .NET 3.5 (y disponible en C ++)

Encontramos que Rijndael se usa en .NET 2.0 pero no está disponible en las bibliotecas estándar de C ++.

Si estoy equivocado (muy buenas posibilidades), ¿puede señalarme en la dirección correcta?

En el peor de los casos, supongo que puedo llamar al algoritmo Rijndael desde .NET usando PInvoke, pero prefiero tener una solución nativa.

¿Fue útil?

Solución

Hacemos con éxito algo similar que espero pueda ayudarlo:

C ++ CryptoAPI

.NET TripleDes Provider

Notas al margen

  • evitamos CAPICOM como la peste, ya que las pesadillas de despliegue que conlleva no valen la pena.
  • El orden de bytes en el lado .NET puede entrar en juego a veces. Por ejemplo, para consumir una clave que se genera en el lado de C ++ (CryptoAPI), debe invertir la matriz de bytes antes de usarla dentro del TripleDESCryptoServiceProvider.

Si desea obtener más detalles, deje un comentario y puedo dar más. ¡Feliz cripto!

Otros consejos

AES y Rijndael son esencialmente el mismo algoritmo con una restricción en el tamaño de bloque y el modo de cifrado. Entonces, siempre que pueda vivir con el restricciones (que no son onerosas) puede usarlas indistintamente.

3DES está disponible a través de Capicom. Consulte aquí para obtener información.

Windows incluye una biblioteca de cifrado AES C / C ++, como parte de Proveedor de servicios criptográficos AES . Es adecuado para su uso desde aplicaciones nativas de C / C ++.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top