2009-10-23 11 views
6

私はColdFusionで値のMD5ハッシュを取得しようとしています。ColdFusionでMD5ハッシュを取得するにはどうすればよいですか?

The MD5 algorithm is not supported by the Security Provider you have chosen.

がどのように異なるセキュリティプロバイダを選択することができます。

<cfscript> 
val = 1117; 
md5 = Encrypt(val, 0, "MD5", "Hex"); 
</cfscript> 

しかし、私はエラーを取得する:私はEncrypt機能を使用してこのコードを試してみましたか?


はい、私はMD5が暗号アルゴリズムではないことを知っているが、ColdFusionのの人々は、彼らが暗号化機能でサポートされているアルゴリズムとして、それをリストするのでことを知っていないように見えます。 編集:内蔵のHash機能が表示されませんでしたが、暗号化ではmd5とshaがサポートされているアルゴリズムであることがわかりました。 CF。

+3

ハッシングは、暗号化ではありません。定義上、暗号化は元に戻すことができません。ハッシュ処理は難しいので、元に戻すことは実用的ではありません。元のデータを復元する必要がある場合は、暗号化を使用します。データ(ファイルやパスワードなど)を検証する必要がある場合は、ハッシュが必要です。 Eddieが指摘したように、MD5にはhash()関数を使用してください。 –

+0

@Ben Doom:ハッシュと暗号化の違いをよく理解しています。私は脚注にそのように言った。私はちょうど "ハッシュ"機能を見ていないし、 "暗号化"がMD5、SHA、およびその他のハッシュアルゴリズムをサポートすると主張していたので、ColdFusionでそれをやらなければならないと思った。 – Kip

答えて

14

ハッシュを使用したい場合は、hash functionをColdFusionで試してみてください。私はSHAまたはSHA-256アルゴリズムを使用して終了しますが、MD5はその機能を使用して動作するはずです。

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

いつか復号化したいのであれば、私は暗号化を使用します。パスワードのようなものについては、それらを解読したくないので、代わりにハッシュ関数を使用してください。

+0

彼は、彼が望む結果を得るために、SHA属性を省略するか(デフォルトではあるが、MD5を使用する)必要があります。ファイル検証以外のものについては、SHAも使用しています。 –

+0

ありがとう、私はリストをブラウズしていたときにハッシュ関数が表示されず、暗号化機能でMD5が見えたので、cfでどのようにしたのかと思った。 – Kip

7

「ハッシュ」機能でCFを使用します。それは次の形式を取ります。

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

次作品:

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

おっと、その機能は見えませんでした。ありがとう! – Kip

関連する問題