2017-02-09 47 views
0

私はしかし、私はエラーを取得しておくAES 256ビット暗号化を使用して、いくつかのデータを暗号化しようとしています -AES 256ビット暗号化

エラーを暗号化するときに:java.security.InvalidKeyExceptionを:不正なキーサイズまたはデフォルトパラメータ

を私のコードは -

key = "abcd123456789kjd"; 
byteKey = key.getBytes(); 
MessageDigest sha = MessageDigest.getInstance("SHA-256"); 
byteKey = sha.digest(byteKey); 
byteKey = Arrays.copyOf(byteKey, 32); // use only first 256 bit 
secretKey = new SecretKeySpec(byteKey, "AES"); 
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); 
cipher.init(Cipher.ENCRYPT_MODE, secretKey); 

です。誰かがエラーがなぜ起こっているのか理解してもらえますか?私が256ビットの代わりに128ビットにすると動作しています。

答えて

1

デフォルトでは、Javaは128ビットの暗号化しかサポートしていません。それ以上にしたい場合は、無制限の強度ファイルをインストールする必要があります。これを行うには、jarをダウンロードし、zipからjarファイルを抽出し、$ {java.home}/jre/lib/security /に保存します。

よりこちらをご覧ください:https://stackoverflow.com/a/6481658/1008278

+0

をはい、それは問題のおかげでした! – AP01

関連する問題