La segunda opción es más segura.
Su método, no proporciona ningún mensaje de integridad.Esto significa que un atacante puede modificar partes del texto cifrado y alterar lo que el texto descifra a.Siempre que no modifique nada de lo que va a alterar su 32 bits firma estática, a continuación, vas a confiar en él.El HMAC en el segundo método proporciona la integridad del mensaje.
Por hash de la clave 8192 veces se añade computacional pasos para que alguien pruebe y bruteforce la clave.Suponga que un usuario tomará un diccionario basado en contraseña.Con su método, un atacante debe realizar SHA256(someguess)
y, a continuación, intentar descifrar.Sin embargo, con el PolarSSL versión, tendrán que calcular SHA256(SHA256(SHA256...(SHA256(someguess)))
para 8192 veces.Esto sólo será lento que un atacante hacia abajo, pero podría ser suficiente (por ahora).
Para lo que vale, por favor, utilice una biblioteca existente.La criptografía es duro y es propenso a sutiles errores.