热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java压缩加密github_关于Java:使用github中的AES256CBC加密

本问题已经有最佳答案,请猛点这里访问。我想使用这些课程https:github.comfukataAES-256-CBC-示例在我的项目中,但是即使我不

本问题已经有最佳答案,请猛点这里访问。

我想使用这些课程

https://github.com/fukata/AES-256-CBC-示例

在我的项目中,但是即使我不进行任何更改而对其进行编译,也会导致错误:

Exception in thread"main" java.lang.RuntimeException:

java.security.InvalidKeyException: Illegal key size at

AESUtil.encrypt(AESUtil.java:23) at AESMain.main(AESMain.java:10)

Caused by: java.security.InvalidKeyException: Illegal key size at

javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1039) at

javax.crypto.Cipher.implInit(Cipher.java:805) at

javax.crypto.Cipher.chooseProvider(Cipher.java:864) at

javax.crypto.Cipher.init(Cipher.java:1396) at

javax.crypto.Cipher.init(Cipher.java:1327) at

AESUtil.encrypt(AESUtil.java:20) ... 1 more

如何解决非法密钥大小?

我下载了它并将Java文件夹复制到我的项目中。 任何帮助,将不胜感激 :)

本质上,密钥长度为128位的AES加密与256位一样安全,不能强行使用。

@zaph是的,但是我想将AES-256与32byte IV一起使用,现在上面的类抛出错误:java.security.InvalidAlgorithmParameterException: Wrong IV length: must be 16 bytes long因为我使用了32byte IV

32字节的IV毫无意义,CBC模式下的AES需要16字节的IV。

@ J.Kennsy AES支持三种密钥长度:128、192和256位,以及一种IV长度,与块大小相同:128位(16字节)。

我相信您将需要安装Java密码学无限强度扩展:

http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

好吧,指示说我应该将两个罐子都粘贴到/ lib / security文件夹中,但是我的那儿不存在(我有jdk,但是我猜没有改变)。

@ J.Kennsy对于JDK,jre目录位于jdk目录下,因此其jdk [version] / jre / lib / security。 请注意,您未确定的Java版本的无限制策略有所不同; 对于8个,请使用oracle.com/technetwork/java/javase/downloads/;对于9个,最后则不需要。



推荐阅读
author-avatar
show窝_515
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有