文字列の暗号化と復号化について質問があります
暗号化された文字列をネットワーク経由で送信する必要があります(Androidアプリがクライアントです)これは私がこれまでに行ったことです
byte[] input = getByteArray(filePath);//get the message stored in a file as a byte array
いくつかのチュートリアルを経ることで、文字列メッセージをバイト配列に取得し、javax.cryptoを使用して暗号化することができました
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key, ivSpec);
暗号化されたメッセージはバイト配列として取得されます
byte[] encrypted
私は逆の方法を使用してそれを復号化し、メッセージを再度取得することさえできました
しかし、この暗号化されたバイト配列を(ネットワークを介して渡すために)文字列に変換してから、バイト配列に再変換しようとすると、問題が発生します
私はこれを試しました
String encryptedStrn = new String(encrypted); // convert to string
byte[]によってバイト配列に変換するときenc=cryptoStrn.getBytes();
このenc配列を使用して復号化しますが、出力が正しく表示されません。
変換に関するいくつかの基本的なことを見逃したことがありますか。私を助けてください。前もって感謝します