C#相当于这个ColdFusion Decrypt函数

时间:2011-06-18 13:46:56

标签: c# coldfusion encryption

我在ColdFusion中有一个加密和解密密码的函数。我需要有人看一下这个函数并指向我或写一个c#等价物。如果你可以提供帮助,那么项目需要它,所以我可以通过PayPal给你一些现金。

CF功能:

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

这是真正的功能,需要转换来自测试端的实际数据。

任何帮助都会很棒......并且有利可图。

谢谢, 尼

1 个答案:

答案 0 :(得分: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”