现在有des加密后的密文字符串,知道密钥,请问如何解出原始字符串,加密是在别的程序系统调用DEL.DLL加密成的,我在PB上也可是正常使用,但是在c#上因为多了个IV,就卡住了。请知道的朋友告诉下,最好有解密部分的代码让我看看。
看网上的资料,有人说设定DESCryptoServiceProvider.Mode = CipherMode.ECB,但是我试了试解密仍然需要IV,请知道的朋友帮帮忙。
看网上的资料,有人说设定DESCryptoServiceProvider.Mode = CipherMode.ECB,但是我试了试解密仍然需要IV,请知道的朋友帮帮忙。
public string DecryptString(string sInputString, string sKey)
{
string[] sInput = sInputString.Split("-".ToCharArray());
byte[] data = new byte[sInput.Length];
for (int i = 0; i < sInput.Length; i++)
{
data[i] = byte.Parse(sInput[i], NumberStyles.HexNumber);
}
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
ICryptoTransform desencrypt = DES.CreateDecryptor();
byte[] result = desencrypt.TransformFinalBlock(data, 0, data.Length);
return Encoding.UTF8.GetString(result);
}