// 解密字符串   
        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);
        }   

解决方案 »

  1.   

                string sInputString = "1-2-3-4-5-6-9-8";
                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], System.Globalization.NumberStyles.HexNumber);//输入字符串格式不正确。。
                }试了没错嘛
    你传了什么sInputString过去?
      

  2.   

    51-A3-9E-09-7A-4E-59-FC-6F-A0-A0-9C-44-23-95-7E-32-26-A1-B6-DE-55-DE-AF-2B-19-D4-D8-B6-FE-B7-D5-A4-89-FA-12-7B-0F-0B-D9-2C-97-34-BE-A4-34-D8-5A-8E-97-E1-2E-28-FB-82-0A-F5-C5-28-29-76-7B-E9-08-2F-7A-8D-B4-46-4A-76-25-3F-D9-81-41-F0-3A-B9-92-B5-ED-60-47-C8-AA-2B-C0-D9-8B-31-73-0D-4A-82-F3-D0-70-7F-8B-35-1B-66-92-CD-7A-EC-75-F9-98-72-20-43-FE-E0-2B-47-3C-30-75-BA-12-4E-09-E1-E0-05-46-9B-96-B4-4A-A2-C4-7B-EF-3A-EB-AB-6E-57-D9-25-2E-D6-CC-3B-25-14-AA-07-43-54-E8-CD-29-8D-1B-39-B3-93-65-75-29-7D-E1-A2-8D-91-13-04-42-73-0E-DF-90-34-77-FE-70-89-6B-09-2A-3A-0C-EB-A1-90-20-8D-3C-5B-30-B9-18-5D-94-A9-65-6F-59-9A-6E-A4-9E-63-49-E1-61-C7-08-1B-6A-9D-D6-06-36-6F-35-4E-D3-E5-6D-BD-B9-85-AD-B3-C6-38-0E-C2-72-34-4C-10-C8-ED-33-A3-CD-CC-53-CB-58-D4-BF-C2-61-50-E5-9F-74-39-FE-32-3A-37-72-A3-1C-08-2F-B8-25-84-EB-73-D6-D2-87-AE-82-7B-C4-59-D2-5C-94
      

  3.   

    我用你上面的那段放进去完全没有错误嘛
    直接得到一个length是280的byte[] 
      

  4.   

    data[i] = byte.Parse(sInput[i], NumberStyles.HexNumber);//输入字符串格式不正确。。
    你要在这里断点,单步执行,看看sInput[i]的内容,然后查看Parse函数的参数类型格式
    ok
    把他们弄一样也可以用encoding.getXXX的方法转换