我在 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/