0

私は 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);

4

0 に答える 0