之前坐对接java接口的时候遇到过这样的问题,对方在Java中加密解密,而我用.net对接的,不同语言的加密、解密算法,很多时候不通用,除了非常流行的一些算法,这是我在网上找了好久在一个大哥那边看到的。
这是java中的aes加密
//AES加密
Key key = new SecretKeySpec(keyValue, "AES");
Cipher c = Cipher.getInstance("AES");
c.init(1, key);
byte[] encVal = c.doFinal(Data.getBytes());
encryptedValue = new base64Encoder().encode(encVal);
这是C#中类似与上面java的aes加密
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
AesManaged tdes = new AesManaged();
tdes.Key = UTF8.GetBytes("4dbd1966f8d691d27b70be9110bb386a");//key
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;
ICryptoTransform crypt = tdes.CreateEncryptor();
byte[] plain = Encoding.UTF8.GetBytes(ss.ToString());//需加密字符串
byte[] cipher = crypt.TransformFinalBlock(plain, 0, plain.Length);
var encryptedText = Convert.Tobase64String(cipher);//结果



