Java的Cipher类支持列出的多种转换方式,其中包括几种NoPadding变体:
但是在这种情况下,如何使用没有填充的块密码模式(例如ECB或CBC)?假设我们使用AES/ECB/NoPadding加密一个250位的消息。明文的第一个块显然是消息的前128位。第二个明文块的最后6位是什么?
- AES/CBC/NoPadding(128位)
- AES/ECB/NoPadding(128位)
- AES/GCM/NoPadding(128位)
- DES/CBC/NoPadding(56位)
- DES/ECB/NoPadding(56位)
- DESede/CBC/NoPadding(168位)
- DESede/ECB/NoPadding(168位)
但是在这种情况下,如何使用没有填充的块密码模式(例如ECB或CBC)?假设我们使用AES/ECB/NoPadding加密一个250位的消息。明文的第一个块显然是消息的前128位。第二个明文块的最后6位是什么?
NoPadding
并不一定意味着不需要填充,它意味着您已经承担了适当填充的责任。 - President James K. Polk