问题描述
|
我在ColdFusion中有一个函数可以加密和解密密码。我需要有人看一下该函数,然后指向我或给我写一个等效的C#。项目尽快需要它,因此如果您可以帮助,我可以通过贝宝向您扔钱。
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,encryptedData.Length);
}
byte[] decryptedData = ms.ToArray();
string clearText = Encoding.ASCII.GetString(decryptedData);
Console.WriteLine(clearText);
}
答案=> \“ AccessOne \”