次のように、Javaの組み込み暗号化ライブラリを使用していくつかの(機能的な)AES暗号化コードを作成しましたが、私は256ビット鍵を使用したいと思います。ただし、無制限強度暗号化ポリシーファイルにインストールする必要はありません。BouncyCastle Lightweight APIを使用したAES-256暗号化
私はBouncyCastle Lightweight APIを使用するとこれを可能にすることができると聞いていますが、残念ながら私は頭がおかしくなります。私の手助けとなるドキュメントには苦労しています。 。
KeyGenerator kgen = KeyGenerator.getInstance("AES");
int keySize = 128;
kgen.init(keySize);
SecretKey key = kgen.generateKey();
byte[] aesKey = key.getEncoded();
SecretKeySpec aesKeySpec = new SecretKeySpec(aesKey, "AES");
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.ENCRYPT_MODE, aesKeySpec);
byte[] encryptedContent = aesCipher.doFinal(content);
はどのようにしてはBouncyCastle軽量APIでこれを再実装に行くか:ここで
は私の現在のコード、ここで「コンテンツ」に暗号化されたバイト配列があるのでしょうか?誰かが私を助けてくれる、そして/または簡単なサンプルコードの方向に私を指摘することはできますか?
私はまた、ユーザーが無制限強度ポリシーファイルをインストールする必要なく、256ビットのキーAES暗号化を可能にする他のソリューションでも面白いです。
多くの感謝!
[PaddedBufferedBlockCipher](http://stackoverflow.com/search?q=paddedbufferedblockcipher)の例をご覧ください。 –
'' AES/CBC/PKCS5Padding ''の代わりに安全でないECBエンコーディング '' AES ''を使用しています)、あなたはIVで何もしていないようです(プレーンテキストを1つだけ暗号化している場合は問題ありません。あなたは何らかの理由でSecretKeyをSecretKeySpecに変換していますが、これは間違った方法であるようです... –