Encryption AES StreamWriter&;文件损坏-恢复场景?

Encryption AES StreamWriter&;文件损坏-恢复场景?,encryption,aes,streamwriter,corruption,Encryption,Aes,Streamwriter,Corruption,我正在存储应用程序事件的事务日志,以允许稍后重播应用程序状态。这些数据需要动态加密(即在它进入磁盘之前)。我想使用.NETAES流编写器实现这一点 在文件损坏(写入期间应用程序崩溃、位腐烂等)的情况下,这对于文件恢复来说有多“安全” 如果流在写入过程中终止(即在应用程序崩溃场景中),我是否可以将文件截断为块大小的最大倍数,并对剩余数据进行解密而不会出现问题 如果我尝试在文件流中间解密位腐烂错误,会发生什么?这是可恢复状态吗?这取决于AES密码使用的操作模式。例如,在CBC模式下,如果一个密文块中

我正在存储应用程序事件的事务日志,以允许稍后重播应用程序状态。这些数据需要动态加密(即在它进入磁盘之前)。我想使用.NETAES流编写器实现这一点

在文件损坏(写入期间应用程序崩溃、位腐烂等)的情况下,这对于文件恢复来说有多“安全”

如果流在写入过程中终止(即在应用程序崩溃场景中),我是否可以将文件截断为块大小的最大倍数,并对剩余数据进行解密而不会出现问题


如果我尝试在文件流中间解密位腐烂错误,会发生什么?这是可恢复状态吗?

这取决于AES密码使用的操作模式。例如,在CBC模式下,如果一个密文块中的一个位被翻转,整个块在解密时变成垃圾,而在下一个块中,解密明文的对应位被反转(这可能是问题,也可能不是问题,取决于明文是什么)。之后流的其余部分不受影响

关于这个主题的维基文章是一个很好的入门。见: