sql >> Base de Datos >  >> RDS >> Mysql

AES _Cifrado en Mysql, Descifrado en C#.Net

Lo que estás haciendo es seguir un camino de dolor. Descifre/cifre en MySQL y use una conexión cifrada a la base de datos (si eso importa) o cifre/descifre en su aplicación .NET, almacenando los datos cifrados en una columna adecuada.

La combinación de implementaciones de AES es propensa a errores y las cosas pueden fallar más fácilmente si cambia las versiones de .NET o MySQL.

Ahora, para saber qué es exactamente lo que está mal, necesitamos saber si el IV es compatible entre MySQL y .NET, o averiguar cuál es el IV de implementación de MySQL y proporcionarlo.

Y la otra fuente potencial de problemas es cómo ha generado las matrices de bytes (no estamos viendo eso en su ejemplo). Debe tener en cuenta los problemas de codificación de caracteres al generar las matrices si la clave es textual.

En los comentarios de este enlace de documentación de MySQL hay información sobre los parámetros que faltan.