天天看點

Android報加密錯誤,Android加密和解密錯誤 - javax.crypto.IllegalBlockSizeException:最後一個塊在解密中不完整...

javax.crypto.IllegalBlockSizeException:最後一個塊解密不全

byte[] data;

String key = "tkg96827pco74510";

byte[] encryptedOut;

String decryptedOut;

Key aesKey;

Cipher cipher;

public void setData(String dataIn){

this.data = dataIn.getBytes();

try {

aesKey = new SecretKeySpec(key.getBytes(), "AES");

cipher = Cipher.getInstance("AES");

}catch(Exception e){

System.out.println("SET DATA ERROR - " + e);

}

}

public void encrypt() {

try{

cipher.init(Cipher.ENCRYPT_MODE, aesKey);

encryptedOut = cipher.doFinal(data);

}catch(Exception e){

System.out.println(e);

}

}

public void decrypt(){

try {

cipher.init(Cipher.DECRYPT_MODE, aesKey);

decryptedOut = new String(cipher.doFinal(data));

}catch(Exception e){

System.out.println("Decrypt Error: " + e);

}

}

public byte[] getEncrypted() {

return encryptedOut;

}

public String getDecrypted(){

return decryptedOut;

}

2015-05-07

Giovanni

+0

此代碼可能會奏效。請顯示主要方法,以确定問題所在。 –

+0

請務必使用完全指定的密碼名稱,如“AES/CBC/PKCS5Padding”,在這種情況下,您将不得不儲存iv –