私は AES を使用して暗号化の復号化に取り組んでおり、正常に動作していますが、セキュリティ チェックのために、ファイルにいくつかの変更を加えました。もう一度実行すると、次のエラーがスローされる行でクラッシュします
javax.crypto.IllegalBlockSizeException: last block incomplete in decryption
. ログとフラグを設定しましたが、次の行に到達していません。この例外の処理方法を教えてください。私もtry catchを使用しましたが、機能しませんでした。コード スニペットは次のとおりです」:
DataBaseActivity myDbHelper;
File myFile1 = new File(filing1); //Date.txt
FileInputStream fIn = null;
String dateDec= null;
String[] date = null;
Boolean flag = null;
Calendar cal1 = null;
Calendar cal2 = null;
try {
fIn = new FileInputStream(myFile1);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedReader myReader = new BufferedReader(new InputStreamReader(fIn));
String aDataRow1 = "";
String aBuffer1 = "";
try {
while ((aDataRow1 = myReader.readLine()) != null) {
aBuffer1 += aDataRow1;
myReader.close();
dateDec = AESencrp.decrypt(aBuffer1);
System.out.println("Datedec"+dateDec);
if(dateDec == ""){
flag = false;
}else {
flag = true;
}
}
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
}catch (NullPointerException e) {
e.printStackTrace();
}
if(flag == true) {
try
{
System.out.println("checks1");
//DataBaseActivity openHelperClass = new DataBaseActivity(this);
myDbHelper = new DataBaseActivity(this);
// myDbHelper = new DataBaseActivity(this);
System.out.println("checks2");
try {
System.out.println("checks3");
myDbHelper.createDataBase();
System.out.println("checks4");
} catch (IOException ioe) {
throw new Error("Unable to create database");
}
例外は行にありますdateDec = AESencrp.decrypt(aBuffer1);