线程中的异常“main”java.security.InvalidKeyException:非法
发布时间:2020-12-14 05:18:11 所属栏目:Java 来源:网络整理
导读:下面的代码是抛出这个错误信息: 线程中的异常“main”java.security.InvalidKeyException:非法键大小或默认参数 Cipher dcipher;byte[] salt = new String("12345678").getBytes();int iterationCount = 1024;int keyStrength = 256;SecretKey key;byte[]
下面的代码是抛出这个错误信息:
线程中的异常“main”java.security.InvalidKeyException:非法键大小或默认参数 Cipher dcipher; byte[] salt = new String("12345678").getBytes(); int iterationCount = 1024; int keyStrength = 256; SecretKey key; byte[] iv; Decrypter(String passPhrase) throws Exception { SecretKeyFactory factory = SecretKeyFactory .getInstance("PBKDF2WithHmacSHA1"); System.out.println("factory +" + factory); KeySpec spec = new PBEKeySpec(passPhrase.toCharArray(),salt,iterationCount,keyStrength); System.out.println("spec " + spec); SecretKey tmp = factory.generateSecret(spec); System.out.println(); key = new SecretKeySpec(tmp.getEncoded(),"AES"); dcipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); } public String encrypt(String data) throws Exception { dcipher.init(Cipher.ENCRYPT_MODE,key); AlgorithmParameters params = dcipher.getParameters(); iv = params.getParameterSpec(IvParameterSpec.class).getIV(); byte[] utf8EncryptedData = dcipher.doFinal(data.getBytes()); String base64EncryptedData = new sun.misc.BASE64Encoder() .encodeBuffer(utf8EncryptedData); System.out.println("IV " + new sun.misc.BASE64Encoder().encodeBuffer(iv)); System.out.println("Encrypted Data " + base64EncryptedData); return base64EncryptedData; 有人知道为什么我得到这个错误吗? 解决方法
可能你还没有安装JCE策略文件.
下载此文件: > Java 6 并将文件安装在${java.home} / jre / lib / security /中. ${java.home}指Java的安装目录 对于mac: >打开查找器 用于CLI unzip downloaded_policy_file.zip -d /Library/Java/JavaVirtualMachines/<JDK_VERSION>/Contents/Home/jre/lib/security/ mv /Library/Java/JavaVirtualMachines/<JDK_VERSION>/Contents/Home/jre/lib/security/UnlimitedJCEPolicyJDK<VERSION>/* /Library/Java/JavaVirtualMachines/<JDK_VERSION>/Contents/Home/jre/lib/security rm -rf Library/Java/JavaVirtualMachines/<JDK_VERSION>/Contents/Home/jre/lib/security/UnlimitedJCEPolicyJDK<VERSION>/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 单细胞转录组测序数据的可变剪接(alternative splicing)分析
- java – URLConnection setRequestProperty vs addRequestP
- java – Spring数据休息使用ManyToMany关系POST一个新项目
- java – 追加不同宽度,高度的视频文件
- java – 反序列化版本冲突
- 是否有Java代码覆盖工具记录调用行和方法的次数?
- Java9 Stream Collectors新增功能(小结)
- java – 更改类和对象. (其他aproachs?)
- java – “Iterable不能被转换到列表” – 不是“List”一种
- Java SimpleDateFormat中英文时间格式化转换详解