我是这个加密的新手.我正在为android和iOS创建一个应用程序,我必须在服务器端加密(使用AES加密)文件,并在iOS和Android应用程序中在客户端解密.我在互联网上获得代码,为Android和iOS执行AES加密和解密,它们工作正常.服务器端他们正在使用java.但问题是Java加密文件无法被iOS程序解密,即使我得到了相同的文件大小,但文件格式不正确.我发布了下面的代码......
Java加密和解密:
public static byte[] encrypt(byte[] data, byte[] key, byte[] ivs) {
try {
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec secretKeySpec = new SecretKeySpec(key, "AES");
byte[] finalIvs = new byte[16];
int len = ivs.length > 16 ? 16 : ivs.length;
System.arraycopy(ivs, 0, finalIvs, 0, len);
IvParameterSpec ivps = new IvParameterSpec(finalIvs);
cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, ivps);
return cipher.doFinal(data);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static byte[] decrypt(byte[] data, byte[] key, byte[] ivs) {
try {
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); …Run Code Online (Sandbox Code Playgroud)