好吧,我正在尝试在VS2010上运行一个使用AES加密的客户端-服务器应用程序。但是,在收到一个大的、序列化的和加密的文件时,程序会抛出异常:Cryptographic Exception: Padding is Invalid and Cannot be Removed.
我环顾了SOF和其他领域,在web服务和加密应用程序中出现了例外。我也尝试了所有提到的解决方案,例如改变填充模式,处理加密器和解密器以及使用相同的密钥,不幸的是,没有一个有效,所以我想知道你们中是否有人有想法。
发布于 2011-11-19 00:36:06
问题出现在TCP连接中,它在客户端将整个流写入networkstream之前正在刷新数据,一小段while循环解决了问题
发布于 2011-11-10 06:22:59
首先,使用AES加密的原因是什么?我不会怀疑确实存在这样的数据,但您想要保护的是哪种数据呢?
我问的原因是,即使不是大多数应用程序,也有许多应用程序可以通过使用https的服务传输数据,并避免许多“自定义加密”编码方案。避免在两端使用AES对象大大降低了出错的可能性。
其次,我将检查服务器实现,特别是如果它是基于web/服务的,并且在一个场中。在一个实例中缺少一个密钥会使整个事情泡汤。
第三,我要确保密钥是相同的。
第四,我会单独检查代码(单元测试更可取),并确保算法是正确的。实际上,我可能会先这样做。
https://stackoverflow.com/questions/8072162
复制相似问题