【发布时间】:2012-07-06 15:25:19
【问题描述】:
所以,我正在使用 RijndaelManaged 类 (.NET 2.0) 对配置文件中的小字符串(大约十几个字符或更少)进行 AES-128 CBC 加密。除了当我解密数据时,填充字节没有被删除之外,我已经让一切正常工作了。我知道我可以选择不进行任何填充,但这是非常不安全的,并且需要添加填充字节,因为这就是 AES 的工作方式(以谨慎的块大小)。现在我使用PaddingMode.ISO10126 让CryptoStream 自动附加加密随机字节。
处理此问题的行业标准方法是什么?在解密时摆脱这些“额外字节”的正确方法是什么?
【问题讨论】:
-
填充由密码自动添加和删除,只要您正确指定填充模式,并告诉密码实例被解密的块是最终块,对于例如通过
CryptoStream.FlushFinalBlock()
标签: vb.net encryption .net-2.0 aes