您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

需要解决AES中IV长度错误的问题

需要解决AES中IV长度错误的问题

首先,

byte[] iv = {00000000000000000000000000000000};

创建一个大小为1的字节数组,而不是大小为32的字节数组(如果您打算这样做)。

其次,AES的IV大小应为16字节或128位(这是AES-128的块大小)。如果使用AES-256,则IV大小应为128位大,因为AES标准仅允许128位块大小。原始的Rijndael算法允许其他块大小,包括256位长的块大小。

第三,如果您打算使用AES-256,则不要开箱即用。您需要下载并安装JCE无限强度管辖权策略文件(滚动到页面底部);我还建议您阅读随附的许可证。

这将对您的代码进行以下更改:

byte[] iv = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

最后,初始化向量是唯一且不可预测的。一个16字节的序列(每个字节由0表示)不适合用于IV。如果这是生产代码,请考虑寻求帮助。

其他 2022/1/1 18:15:26 有491人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶