与此 ColdFusion Decrypt 函数等效的 C#

标签 c# coldfusion encryption

我在 ColdFusion 中有一个函数可以加密和解密密码。我需要有人查看该函数并指出或给我写一个 C# 等效函数。一个项目需要尽快使用它,所以如果你能帮忙的话,我可以通过 Paypal 给你一些现金。

CF功能:

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

这是真正的函数,具有来自测试端的真实数据,需要转换。

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

谢谢, 唐尼

最佳答案

您的起点是 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”

关于与此 ColdFusion Decrypt 函数等效的 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6396464/

相关文章:

c# - 如何将 2 个列表传递给 Parallel.ForEach?

c# - Resources.ApplyResources 上的 System.Resources.MissingManifestResourceException

mysql - 用户定义的数据收集帮助 ColdFusion

android - 我怎样才能让玩家更难破解游戏关卡数据?

java - Blowfish CBC算法空间Padding如何实现

c# - 如何对使用 Servicestack Funq IOC 的 DBService 进行单元测试

c# - 从字符串创建强类型 log4net 级别

java - 在 ColdFusion 中获取货币符号 aka localeconv()?

mysql - 在页面上显示结果,然后使用 ColdFusion 将多条记录插入 MySQL 表中

powershell - 使用PowerShell的Coinspot API