AES如何实现二进制透传?

我在评估AES时发现一个问题:AES加密要求密文都是16B,不足以空格填充。我觉得文本以0填充比较合理。但是二进制码流如何处理?

如果要处理Padding字符,意味着需要ESC字符,同时ESC本身需要再ESC。
如果没有Padding,那么必须等待16B完整后才能够传输。

前者意味着根本不是透传的,而是需要高层适配的。后者意味着某个报文是无法即时发出的。

阅读 2.5k
1 个回答

采用PKCS#5/PKCS#7实现二进制数据padding。

即如果填充一个字节,结尾填充0x01;如果填充两个字节,则是0x0202;三个字节0x030303...以此类推。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进