暗号化されたメッセージを送受信するアプリをJ2MEで開発しています。暗号化して文字列に変換する以下のコードを見つけましたが、機能せず、例外をスローします。これを行うにはどうすればよいですか?復号化を行う場合、Stringをbyte []に変換するにはどうすればよいですか?ありがとう
byte[] plainArray = message.getBytes();
try {
byte[] keyBytes = "SECRET_1SECRET_2SECRET_3".getBytes();
// key = new KeyParameter(keyBytes);
AESEngine engine = new AESEngine();
PaddedBufferedBlockCipher cipher = new PaddedBufferedBlockCipher(engine);
cipher.init(true, new KeyParameter(keyBytes));
byte[] cipherBytes = new byte[cipher.getOutputSize(plainArray.length)];
int cipherLength = cipher.processBytes(plainArray, 0, plainArray.length, cipherBytes, 0);
cipher.doFinal(cipherBytes, cipherLength);
String result2 = org.apache.commons.codec.binary.Base64.encodeBase64String(cipherBytes);
formSender.append(result2);
} catch (Exception e) {
}
例外 :
TRACE:、Displayクラスで例外がキャッチされましたjava.lang.Error:ClassFormatError:56 at SSMS.EncShow()、bci = 173 at SSMS.commandAction()、bci = 16 at javax.microedition.lcdui.Display $ ChameleonTunnel.callScreenListener( )、com.sun.midp.chameleon.layers.SoftButtonLayer.processCommand()でbci = 44、com.sun.midp.chameleon.layers.SoftButtonLayer.soft1()でbci = 80、com.sunでbci=31。 midp.chameleon.layers.SoftButtonLayer.keyInput()、com.sun.midp.chameleon.CWindow.keyInput()でbci = 48、javax.microedition.lcdui.Display $ DisplayEventConsumerImpl.handleKeyEvent()でbci = 38、bci = 32 at com.sun.midp.lcdui.DisplayEventListener.process()、bci = 294 at com.sun.midp.events.EventQueue.run()、bci = 177 at java.lang.Thread.run(Thread.java: 722)