Using this code for Android and Java back-end and AESCipher-iOS for iOS lets you encrypt and decrypt with AES accurately.
Encryption:
// For String
public static String aesEncryptString(String content, String key)
// For Bytes
public static byte[] aesEncryptBytes(byte[] contentBytes, byte[] keyBytes)
Decryption:
// For String
public static String aesDecryptString(String content, String key)
// For Bytes
public static byte[] aesDecryptBytes(byte[] contentBytes, byte[] keyBytes)
Additionally you can modify the IV_STRING with another 16 bytes string in line 23 of AESCipher.java , but you should make sure to keep it the same with kInitVector in line 14 of AESCipher-iOS.
与 AESCipher-iOS 一并使用能达到 在iOS、Android、Java后台产生相同密文、正确解密成明文的目的。
加密方法:
// For String
public static String aesEncryptString(String content, String key)
// For Bytes
public static byte[] aesEncryptBytes(byte[] contentBytes, byte[] keyBytes)
解密方法:
// For String
public static String aesDecryptString(String content, String key)
// For Bytes
public static byte[] aesDecryptBytes(byte[] contentBytes, byte[] keyBytes)
另外你也可以将 AESCipher.java 第 23 行中的 IV_STRING 修改为其他 16 字节的字符串,但请确保其与 AESCipher-iOS 第 14 行处的 kInitVector 保持一致。