【发布时间】:2012-06-17 04:47:07
【问题描述】:
我正在尝试从文件中读取数据并在 CFB 模式下使用 AES 加密数据,没有填充
'AES/CFB/NoPadding'。 IV 的长度为 16 字节。
鉴于默认情况下 AES 使用 16 字节块,如果我使用 CBC 或除 CFB 之外的任何其他模式,我会考虑使用填充方案。 CFB 本质上不需要对纯文本进行填充。
所以问题是,如果我的文件包含小于 16 字节的数据,则不会加密。如果大于 16 个字节,则只有前 16 个字节被加密。
这清楚地表明块大小正在启动,以及是否存在字节w.r.t的下溢或溢出。块大小,然后丢弃数据/字节。
我不明白的是在使用CFB时,我不需要填充数据..对!那为什么 AES 的 16byte 默认块大小开始起作用并截断数据?
【问题讨论】:
-
发布您用于加密的代码。
标签: java encryption aes padding