AES加密是我們在工作中常用到一種加密方式,並且在java中也已經實現好了其相應的接口。 但是Java自帶的JDK默認最多實現128位及其以下的加密。如果使用java自帶的api實現aes256將會報java.security.InvalidKeyException:illegal Key Size的錯誤。
解決方式:
如果要啟動256位密鑰,則需要更新local_policy.jar,US_export_policy.jar
如果你的JAVA_HOME為C:\Program Files\Java\jdk1.6.0_14.
覆蓋: C:\Program Files\Java\jdk1.6.0_14\jre\lib\security下的同名文件
覆蓋: C:\Program Files\Java\jre6\lib\security下的同名文件
下載地址:
java6:
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
java7:
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
參考代碼
Java同理!
引用
- java AES為什么不支持256位?
- http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
- http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
- Android實現AES 256加密代碼
Written with LeoChin.
