1

既存のcoldfusionWebサイトはドットネットに変換されます。

コールドフュージョンコードでは、パスワードはアルゴリズムなしでhash()関数を使用してハッシュされます。

SomePassword = '#hash(fldPassword)#'

私はこのドキュメントを見つけました、デフォルトの暗号化は

CFMX_COMPAT:ColdFusionMXおよびColdFusionMX 6.1で生成されたものと同じハッシュ文字列を生成します(デフォルト)。

実際に復号化する方法を教えてくれる記事がいくつかあります。

Macromediaによると、ColdFusion Encrypt関数は、関数へのパラメーターとしてユーザーから渡されたシードに基づく疑似ランダム32ビットキーを利用するXORベースのアルゴリズムを使用します。結果のデータはUUencodeされます。

最初にエンコードされた値をuudecodeする必要があります http://www.eggheadcafe.com/printsear...asp?linkid=351

次に、暗号化されたキーを使用してXORします。 http://www.java2s.com/Code/CSharp/La...deamessage.htm

あなたが鍵を持っていない場合-あなたの無駄な時間。

しかし、それを機能させる方法は?鍵はないと思います。私が見ることができるのは'#hash(fldPassword)#'。助けてください。ありがとう。

4

2 に答える 2

3

ドキュメントを正しく読んだ場合、CFMX_COMPATハッシュはMD5にすぎません。

それで:

byte[] hash = MD5.Create().ComputeHash(fldPassword);

あなたがColdFusionのインストールにアクセスできるかどうかを簡単に確認できるはずです。

于 2012-05-23T19:44:16.830 に答える
3

実際に復号化する方法を教えてくれる記事がいくつかあります。

ハッシュと暗号化は同じものではありません。暗号化を元に戻すことができます。正しいキー、etecteraがあれば、元の値に戻すことができます。一方、ハッシュは片道です。ハッシュされると、元の値を復元することはできません。(理論的には、弱いハッシュアルゴリズムのいくつかが壊れています。)したがって、ハッシュ値を「復号化」することはできません。ただし、難読化された結果文字列を複製することはできます。

デフォルトの暗号化はCFMX_COMPATであると言って、このドキュメントを見つけました

実際には、デフォルトのアルゴリズムを参照しています。しかし、説明が正しいかどうかはわかりません。(編集:Rasmusが正しく指摘しているように、デフォルトはMD5であると言っています)しかし、CF9/7はとにかくデフォルトでMD5になっています。アルゴリズムがCFMX_COMPAT。したがって、どちらの場合でも、C#の単純なMD5ハッシュで同じ結果が得られます。

つまり、これらはすべて同じ結果を生成します098F6BCD4621D373CADE4E832627B4F6

    #hash("test")#
    #hash("test", "cfmx_compat")#
    #hash("test", "md5")#
于 2012-05-23T19:47:32.640 に答える