Ich versuche, einen MD5-Hash eines Wertes in ColdFusion zu erhalten. Ich habe diesen Code versucht, indem ich die Verschlüsseln Sie Funktion 1 :
<cfscript>
val = 1117;
md5 = Encrypt(val, 0, "MD5", "Hex");
</cfscript>
Aber ich erhalte eine Fehlermeldung:
Der MD5-Algorithmus wird von dem von Ihnen gewählten Sicherheitsanbieter nicht unterstützt.
Wie kann ich einen anderen Sicherheitsanbieter wählen?
1 Ja, ich weiß, dass MD5 kein Verschlüsselung Algorithmus, aber die ColdFusion-Leute scheinen das nicht zu wissen, denn sie führen ihn als unterstützten Algorithmus für die Encrypt-Funktion auf. Editar : Ich habe nicht gesehen, dass die eingebauten Hash Funktion, aber ich habe gesehen, dass Encrypt md5 und sha als angeblich unterstützte Algorithmen auflistet, also dachte ich (fälschlicherweise, wie sich herausstellte), dass dies nur die Art und Weise ist, wie man einen Hash in CF erhält.
3 Stimmen
Hashing ist keine Verschlüsselung. Verschlüsselung ist per Definition nicht rückgängig zu machen. Hashing sollte so schwierig sein, dass eine Rückgängigmachung nicht möglich ist. Wenn Sie die ursprünglichen Daten wiederherstellen müssen, verwenden Sie Verschlüsselung. Wenn Sie Daten (z. B. Dateien oder Passwörter) verifizieren müssen, ist Hashing der richtige Weg. Wie auch immer, verwenden Sie die Funktion hash() für MD5, wie Eddie bereits erwähnt hat.
0 Stimmen
@Ben Doom: Ich verstehe den Unterschied zwischen Hashing und Verschlüsselung sehr gut. Ich habe das sogar in meiner Fußnote gesagt. Ich habe nur die "Hash"-Funktion nicht gesehen und festgestellt, dass "encrypt" behauptet, MD5, SHA und einige andere Hash-Algorithmen zu unterstützen, so dass ich dachte, das sei nur die Art und Weise, wie man es in ColdFusion machen muss.