与IOS端的AES加密通信
为了完成与IOS客户端的通信,在AES端的加密程序中,必须注意设置RijndaelManaged类实例的mode 和padding属性。前者需要设置为CipherMode.ECB,后者需要与客户端沟通,统一设置,在本样例中设置为补0。
样例代码:
byte[] buffer = Encoding.UTF8.GetBytes("被加密的文字"); var key = Encoding.UTF8.GetBytes("0000000000000001");//16位密匙 RijndaelManaged rDel = new RijndaelManaged(); rDel.Key = key; rDel.Mode = CipherMode.ECB; //必须设置为ECB rDel.Padding = PaddingMode.Zeros; //非16整数位的补零 ICryptoTransform cTransform = rDel.CreateEncryptor(); byte[] resultArray = cTransform.TransformFinalBlock(buffer, 0, buffer.Length);
此时,不需要设置密匙向量。