Estoy tratando de obtener un hash MD5 de un valor en ColdFusion. Probé este código usando la función Encrypt :¿Cómo puedo obtener un hash MD5 en ColdFusion?
<cfscript>
val = 1117;
md5 = Encrypt(val, 0, "MD5", "Hex");
</cfscript>
Pero me da un error:
The MD5 algorithm is not supported by the Security Provider you have chosen.
¿Cómo se puede elegir un proveedor de seguridad diferente?
Sí, sé que MD5 no es un algoritmo de cifrado, pero no parece que la gente de ColdFusion saber que debido a que la lista como un algoritmo compatibles con la función de cifrado. Editar: No vi la función incorporada Hash, pero vi el hecho de que Encrypt enumera md5 y sha como algoritmos supuestamente compatibles, así que pensé (incorrectamente resulta) que así era como se obtenía un hash en CF.
Hashing no está cifrado. El cifrado es, por definición, imposible de copiar. Hashing debería ser lo suficientemente difícil como para deshacerlo es poco práctico. Si necesita recuperar los datos originales, use el cifrado. Si necesita verificar datos (como archivos o contraseñas), el hash es el camino a seguir. Independientemente, utilice la función hash() para MD5, como ha señalado Eddie. –
@Ben Doom: entiendo completamente la diferencia entre el hash y el cifrado. Incluso dije eso en mi nota al pie. Simplemente no vi la función "hash" y descubrí que "encrypt" afirmaba que era compatible con MD5, SHA y algunos otros algoritmos hash, por lo que pensé que era exactamente lo que tenía que hacer en ColdFusion. – Kip