现在有des加密后的密文字符串,知道密钥,请问如何解出原始字符串,加密是在别的程序系统调用DEL.DLL加密成的,我在PB上也可是正常使用,但是在c#上因为多了个IV,就卡住了。请知道的朋友告诉下,最好有解密部分的代码让我看看。
   看网上的资料,有人说设定DESCryptoServiceProvider.Mode = CipherMode.ECB,但是我试了试解密仍然需要IV,请知道的朋友帮帮忙。

解决方案 »

  1.   

    你说的是不是这个哦// 解密字符串
            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);
            }