美文网首页
JDK-AES加密异常问题

JDK-AES加密异常问题

作者: xhh199090 | 来源:发表于2019-07-13 17:23 被阅读0次

异常报错信息:

java.security.InvalidKeyException: Illegal key size

源代码程序:

// 设置加密模式为AES的CBC模式
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
SecretKeySpec keySpec = new SecretKeySpec(aesKey, "AES");
IvParameterSpec iv = new IvParameterSpec(aesKey, 0, 16);
cipher.init(Cipher.ENCRYPT_MODE, keySpec, iv);

// 加密
byte[] encrypted = cipher.doFinal(unencrypted);

当执行到:

cipher.init(Cipher.ENCRYPT_MODE, keySpec, iv);

时, 如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的,, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.

解决方法:
JDK8的下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html 

下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件

相关文章

  • JDK-AES加密异常问题

    异常报错信息: 源代码程序: 当执行到: 时, 如果密钥大于128, 会抛出java.security.Inval...

  • ase 加密

    昨天遇到一个加密的东西,解决问题的过程异常艰辛要求是AES256-CBC-PKCS7Padding加密 base6...

  • java.security.InvalidKeyExceptio

    问题描述: AES加密的秘钥按规定是16位,否则会出现标题中的异常 解决方法: 将AES秘钥改成16位即可

  • OKEx合约交易异常进行数据回滚 其背后或隐藏巨大阴谋

    2018年3月30日,加密货币交易所OKEx发布公告称,有异常账户通过大量异常操作,导致BTC季度合约价格异常,大...

  • 2018-03-30

    2018年3月30日,加密货币交易所OKEx发布公告称,有异常账户通过大量异常操作,导致BTC季度合约价格异常,大...

  • 【异常问题】Presto(Trino)查询异常问题

    如果使用trino查询过程中报错跑出以下异常 那么很有可能是以为查询的SQL语句中没有指定对应表的数据库名称。

  • 2018-03-22

    sha1加密(中文加密之后的错误问题)

  • DES加密

    知识补充: 数据安全包含通道加密https和上传数据加密全问题(一些算法加密,对称加密和非对称加密)。 ...

  • python:判断压缩包是否被加密

    对于zip格式文件来说:事实上zipfile模块本身就包含判断是否加密的语句(不然怎么抛出由于加密导致的异常呢) ...

  • iOS加密1——概述

    一、简单说明数据安全包含通道加密https和上传数据加密全问题(一些算法加密,对称加密和非对称加密)。加密算法通常...

网友评论

      本文标题:JDK-AES加密异常问题

      本文链接:https://www.haomeiwen.com/subject/rmymkctx.html