6 Stimmen

Wie kann ich einen MD5-Hash in ColdFusion erhalten?

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.

16voto

Eddie Punkte 4846

Wenn Sie einen Hash haben wollen, sollten Sie den Hash-Funktion in ColdFusion? Ich verwende am Ende die Algorithmen SHA oder SHA-256, aber MD5 sollte mit dieser Funktion funktionieren.

hash(saltTheHash & trim(UserPassword), "SHA")

Ich würde verschlüsseln nur dann verwenden, wenn Sie später entschlüsseln wollen. Für Dinge wie Passwörter wollen Sie sie nicht entschlüsseln, also verwenden Sie stattdessen die Hash-Funktion.

0 Stimmen

Er sollte das SHA-Attribut weglassen (oder MD5 verwenden, auch wenn dies die Standardeinstellung ist), um das gewünschte Ergebnis zu erhalten. Für Dinge otros Als Dateiverifizierung verwende ich jedoch auch SHA.

0 Stimmen

Danke, ich habe die Hash-Funktion nicht gesehen, als ich die Liste durchstöberte, und ich sah MD5 in der Verschlüsselungsfunktion, also dachte ich, dass Sie es so in cf gemacht haben.

7voto

Barry Jordan Punkte 2638

Verwenden Sie die in CF eingebaute "Hash"-Funktion. Sie nimmt das folgende Format an:

Hash(string [, algorithm [, encoding ]])

Die folgenden Werke:

<cfscript>
    val = 1117;
    md5 = Hash(val, "MD5");
</cfscript>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X