コード スニペットでraw
は、キーは (バイト配列として) です。
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
// ^^^ this is your key
もちろん、キーを 16 進文字列として持っている場合は、それを bytes に変換する必要があります。
暗号化するときは、IV を自分で指定するか、ランダムな IV を生成させることができます。自分自身を指定する場合は、次を使用します。
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); // adjust padding
cipher.init(Cipher.ENCRYPT_MODE, skeySpec, new IvParameterSpec(...));
自動のものを使用したい場合は、呼び出しによって選択されたものを必ず記録してください
cipher.getIV();
復号化の場合は、IV を指定する必要があり、IvParameterSpec
暗号化と同様に を使用して指定します。
そして、最初の 256 バイトのデータのみを復号化する必要があります。どうすればこれを達成できますか?
a の使用を検討し、CipherInputStream
そこから 256 バイトのみを読み取ります。