AES ECB PKCS7解密问题

  最近项目中使用到AES解密。由于客户那边提供的接口是通过AES加密过的。

  解密过程中发现了一个问题。直接解密的话解出来数据不对,所以,原字符串需要做些操作再解密。

  将16进制值转byte[]

  /// AES解密 
       /// </summary> 
       /// <param name="encryptStr">密文字符串</param> 
       /// <returns>明文</returns> 
       public static byte[] AESDecrypt(string encryptStr) 
       {
           encryptStr = encryptStr.Replace("\r\n", ""); //替换掉换行符号
           byte[] keys = Encoding.UTF8.GetBytes("秘钥");
           byte[] by = new byte[encryptStr.Length / 2];
           int j = 0;
           for (int i = 0; i < encryptStr.Length; i = i + 2)
           {
               by[j] = Convert.ToByte(encryptStr.Substring(i, 2), 16);
               j++;
           }
           return AES.Decrypt(keys, by);
       } 

posted on 2016-04-08 11:24  逝水流風  阅读(710)  评论(0编辑  收藏  举报

导航