Android异常损坏的焊盘块
嗨,我的android应用程序有问题。我编写了使用tcp和udp的客户端。数据由AES加密。但当我尝试接收数据报时,我的应用程序返回异常。 这是我的代码:Android异常损坏的焊盘块,android,exception,encryption,aes,Android,Exception,Encryption,Aes,嗨,我的android应用程序有问题。我编写了使用tcp和udp的客户端。数据由AES加密。但当我尝试接收数据报时,我的应用程序返回异常。 这是我的代码: protected Void doInBackground(Void... params) { try { udp = new DatagramSocket(2500); boolean flagaBYE = true;
protected Void doInBackground(Void... params)
{
try
{
udp = new DatagramSocket(2500);
boolean flagaBYE = true;
String w = "";
while(flagaBYE)
{
byte[] receiveData= new byte[1024];
DatagramPacket pakiet = new DatagramPacket(receiveData, receiveData.length);
udp.receive(pakiet);
String wiadomosc = new String(pakiet.getData(),"utf-8");
publishProgress(wiadomosc);
String szyfr = main.preferences.getString("SZYFR_TCP", "");
if(!szyfr.equals("1"))
{
Encryptor enc = new Encryptor(getKeyBytes(key), getCode());
wiadomosc = enc.decrypt(wiadomosc);
}
我的例外是焊盘块损坏
我生成的密钥如下所示:
String key = "tojestkluczwlasnie";
然后将字符串解析为字节[]
public static byte[] getKeyBytes(String key) throws UnsupportedEncodingException{
byte[] keyBytes= new byte[16];
byte[] parameterKeyBytes= key.getBytes("UTF-8");
System.arraycopy(parameterKeyBytes, 0, keyBytes, 0, Math.min(parameterKeyBytes.length, keyBytes.length));
return keyBytes;
}
您不应将字节视为UTF-8字符串,如果密码是密钥,则不应将其视为密码。在数据格式(编码/解码)之间的转换过程中,很可能会丢失信息。如何处理?我使用netbeans和emulator,例如,message已损坏pad blocksee:或手动启动ddms无错误。只是变暖,所以我不知道为什么会出现这种例外。