2010-09-07 38 views
6

Sé cómo cifrar datos usando ColdFusion usando AES_128. También sé cómo encriptar datos usando MSSQL AES_128. ¿Alguien sabe si es posible encriptar datos en ColdFusion usando AES_128, luego descifrar la cadena en MSSQL?Cifrado SQL y ColdFusion

He jugado mucho con él y parece que no puedo entenderlo.

Gracias, Paul

+0

¿Intentó utilizar cifrado/descifrado de frase de contraseña en ambos lados? –

+0

Sí, ya lo he intentado. No creo que puedas usar un algoritmo avanzado como AES con frase de contraseña en sql. – Paul

Respuesta

3

Si esto es posible. No hay nada acerca de AES que lo haga propietario. Sin embargo, hay muchas formas de implementar un cifrado de bloques, y la mayoría de ellos son incorrectos. El encryptbykey() de MS SQL usa el modo ECB y el valor predeterminado es ANSI_PADDING. Intentaría descifrar un mensaje usando la misma clave con un AES en modo ECB y probablemente funcione. Se debe usar el modo CBC, pero esto requiere una IV, y encryptbykey() no acepta un IV como parámetro, por lo que su modo ECB. (MySQL también modo ecb, he visto el código. Es una lástima que no puedo hacer eso con MS SQL).

+0

Ya estoy usando el método encryptbykey(). Puedo cifrar y descifrar la cadena en SQL, pero creo que el problema que tengo es que MSSQL usa una clave simétrica para cifrar y descifrar los datos y el lenguaje del lado del servidor que estoy usando (que es ColdFusion). también requiere una clave; sin embargo, no puedo replicar esa clave en ColdFusion porque, por lo que sé, no se puede ver realmente el contenido de la clave simétrica correcta. He intentado usar la clave gui_key de la clave simétrica, pero esto no funcionó. – Paul

+0

@Paul aes es un cifrado simétrico. gui_key() es una función string2key y no tiene nada que ver con la simetría, en realidad es un resumen del mensaje. Podría usar otra función string2key, o generar aleatoriamente una clave y allí no necesitaría una función string2key. – rook

Cuestiones relacionadas