Hasta ahora me he encontrado con Botan y Crypto++ que proporcionan cifrado reversible (por ejemplo, AES) y no reversible (por ejemplo, SHA). Me preguntaba si alguien puede recomendar cualquiera, o alguna otra cosa.Librerías libres de cifrado en C++
Respuesta
OpenSSL tiene toda la funcionalidad que usted esperaría y a menudo ya está instalada (al menos en Linux).
Admite cifrado simétrico/simétrico, firmas digitales y algoritmos hash. Por ejemplo, puede usar la API de alto nivel OpenSSL EVP para encriptación simétrica.
+1, y además debo señalar que para cosas de mayo, OpenSSL se considera * el * estándar. Además de eso, dependiendo de su campo, si necesita someterse a una auditoría o algo así, OpenSSL como algo reconocido y bien considerado no causará ningún problema, pero alguna otra biblioteca dudosa que haya descargado de un servidor anónimo podría interferir. un palo en las ruedas del auditor. – AviD
No es (por ejemplo) SHA-256 SHA-256 independientemente de la implementación; es determinista para que pueda probarlo. –
@John: incluso si se trata del mismo algoritmo con los mismos resultados (de prueba), la implementación puede ser diferente. A veces, las implementaciones del algoritmo de cifrado (referencia) son defectuosas y son vulnerables a los ataques. AviD significaba que una biblioteca algo más estable como OpenSSL mitigaría tales riesgos. – AndiDog
Solía usar libtomcrypt de CPP aunque su escrito en C pura
Se significa enorme !, que tiene pequeña, robusta y sencilla implementación de la API de la mayoría de los cifrados y los hashes de ahí abajo.
No está en GPL, por lo que puede usarlo en proyectos cerrados.
Google tiene una biblioteca muy interesante: KeyCzar.
De interés:
- Simple API (He utilizado Crypto ++, y puede ser de gran alcance ... pero lo que es una molestia!)
- Claves de rotación y control de versiones (que tienen la intención de hacer que sus claves evolucionar, ¿no?)
- Safe default!
Francamente, esos 3 puntos son lo que creo que son las consideraciones más importantes una vez que sepas que la implementación es sólida. Especialmente para aquellos de nosotros que no somos expertos en criptografía.
Recuerdo vagamente usar xyssl. Proporcionó un enlace directo. link text
También se puede usar la biblioteca POCO, para más información visite www.pocoproject.org
- 1. Bloquear pila y cola libres en C#
- 2. cifrado César en C++
- 3. Cifrado César en C#
- 4. ¿Puedes usar librerías C++ en un proyecto Cocoa (Obj-C)?
- 5. Cifrado AES y C#
- 6. C++ AES Cifrado clase
- 7. Protección de claves de cifrado en C#
- 8. MySQL C API librerías para iPhone
- 9. Uso de librerías estáticas C/C++ desde iPhone Aplicaciones ObjectiveC
- 10. ggplot2, facet_grid, escalas libres?
- 11. Cifrado RSA de datos grandes en C#
- 12. Implementación simple de cifrado en C
- 13. Librerías de árbol en python
- 14. Librerías de escritura en Java
- 15. ¿deberían las "funciones auxiliares" de la clase C++ ser miembros, libres o libres de espacio de nombres?
- 16. librerías de aserciones independientes?
- 17. C# Cifrado para descifrado PHP
- 18. Uso del cifrado AES en C#
- 19. NSData cifrado a NSString en obj-c?
- 20. cifrado RSA en Objective-C (Mac)
- 21. Puerto RSA código Java cifrado en C#
- 22. Cifrado de cadenas en C# y Objectivo c
- 23. ¿Cuál es la mejor biblioteca de cifrado en C/C++?
- 24. cifrado y descifrado con RSAServiceProvider en C#
- 25. Validación y librerías fluidas
- 26. Buena introducción a teoremas libres
- 27. Biblioteca de cifrado RSA para C++
- 28. Biblioteca de cifrado para Objective-C
- 29. ¿Cómo puedo descifrar un valor cifrado MCRYPT_RIJNDAEL_256 en C#, cifrado por mcrypt en PHP?
- 30. Librerías java Anti-XSS
SHA es ** ** no un cifrado (o cifrado) Algoritmo: es un método de hash. – ereOn
lo siento, no pude pensar en una sola palabra para describir ambos. Pero sí, sabía –
SHA es una familia de "funciones hash criptográficas". Es por eso que lo encuentras en una biblioteca de cifrado. – MSalters