我在ColdFusion中有一个加密和解密密码的函数。我需要有人看一下这个函数并指向我或写一个c#等价物。如果你可以提供帮助,那么项目需要它,所以我可以通过PayPal给你一些现金。
CF功能:
Decrypt("CLbtkjNkcofJ5D8s4Ri7nA==", "EajmplPP8DHg6Tqq8BVRMw==", "AES", "Base64")
这是真正的功能,需要转换来自测试端的实际数据。
任何帮助都会很棒......并且有利可图。
谢谢, 尼
答案 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”