Necesito hacer un simple cifrado/descifrado AES de bloque único en mi aplicación Qt/C++. Esta es una implementación de "mantener a la gente honesta honesta", así que solo es necesario un encrypt(key, data)
básico. No me preocupan los vectores de inicialización, etc. Mi entrada y clave siempre serán exactamente 16 bytes.Encriptación AES simple usando WinAPI
Me gustaría realmente me gusta evitar otra dependencia para compilar/vincular/enviar con mi aplicación, por lo que estoy tratando de usar lo que está disponible en cada plataforma. En la Mac, este fue un one-liner a CCCrypt
. En Windows, me pierdo en la API desde WinCrypt.h
. Su ejemplo de cifrado de un archivo es de casi 600 líneas. en serio?
Estoy buscando CryptEncrypt
, pero me estoy cayendo por el agujero de conejo de las dependencias que tiene que crear antes de que pueda llamar eso.
¿Alguien puede dar un ejemplo simple de hacer encriptación AES usando la API de Windows? Seguramente hay una manera de hacer esto en una línea o dos. Supongamos que ya tiene una clave de 128 bits y 128 bits de datos para encriptar.
No puedo proporcionar un ejemplo simple de WinApi (porque es posible que uno no exista como usted señaló), pero ¿ha investigado OpenSSL? Lo he usado en varios proyectos y es bastante sencillo. Sé que no desea agregar otra dependencia, pero puede terminar siendo una solución más simple. – JoeFish