2011-06-18 17 views
1

パスワードを暗号化および復号化するColdFusionの関数があります。私は誰かに関数を見て、私にC#同等物を指し示すか書くことが必要です。あなたが助けることができるなら、私はあなたにpaypalを通していくらかの現金を投げることができるので、プロジェクトのために必要です。このColdFusion Decrypt関数に相当するC#

CF機能:

Decrypt("CLbtkjNkcofJ5D8s4Ri7nA==", "EajmplPP8DHg6Tqq8BVRMw==", "AES", "Base64") 

これは、変換する必要があるテスト側から実データと実関数です。

何か助けが素晴らしいと有益かもしれません。

おかげで、 ドニー

+2

こんにちは、これはrentacoderされていない素敵な再利用可能な機能でこれを包むためにあなたにそれを残しています.com。 [FAQ]をお読みください。 –

答えて

4

あなたの出発点は、System.Security.Cryptography.Aes

だろう。しかし、これらのものは、例えば、あなたが使用するモードを知る必要があり、非常に毛深い得ることができます。あなたの例はIV(初期化ベクトル)を表示していないので、CipherMode.ECBを使うべきです。ここで

は、いくつかのテストコードは、私が

byte[] key = Convert.FromBase64String("EajmplPP8DHg6Tqq8BVRMw=="); 
    byte[] encryptedData = Convert.FromBase64String("CLbtkjNkcofJ5D8s4Ri7nA=="); 

    Aes aes = Aes.Create(); 
    aes.Mode = CipherMode.ECB; 

    using (var ms = new MemoryStream()) 
    { 
    using (var cs = new CryptoStream(ms, aes.CreateDecryptor(key, null), CryptoStreamMode.Write)) 
    { 
     cs.Write(encryptedData, 0, encryptedData.Length); 
    } 
    byte[] decryptedData = ms.ToArray(); 
    string clearText = Encoding.ASCII.GetString(decryptedData); 
    Console.WriteLine(clearText); 
    } 

答え=>「AccessOne」

+0

クリスは私を救った。どのようにして助けのための資金を得ることができますか? –

+0

FWIW、[ECBモードは推奨されません](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_Codebook_.28ECB.29)代わりにCBCモードを使用するように両サイドを変更する必要があります。 – Leigh

関連する問題