UDP 受信からのメッセージの復号化に問題があります。
私のコード:
byte[] receiveData= new byte[1024];
DatagramPacket pakiet = new DatagramPacket(receiveData, receiveData.length);
udp.receive(pakiet);
String wiadomosc = new String(pakiet.getData());
publishProgress(wiadomosc);
String szyfr = main.preferences.getString("SZYFR_TCP", "");
if(!szyfr.equals("1"))
{
enc = new Encryptor(kluczByte, getCode());
Log.e("myApp", "jestem 2");
Log.e("message = ","" + wiadomosc);
wiadomosc = enc.decrypt(wiadomosc);
publishProgress(wiadomosc);
}
ログで、変数wiadomosc
にデータと次のような多くの悪い文字があることがわかりました。
バイト配列reciveData
には 1024 個の要素があります。受信メッセージが短いと思うので、1024 に要素を追加する必要があります。文字列からこれらの文字を削除するにはどうすればよいですか? 「破損したパッドブロック」例外が発生するため、この文字列を復号化できないためです。