【发布时间】:2011-07-03 01:01:10
【问题描述】:
我对 C# 和加密比较陌生,所以请多多包涵。我正在将一些数据写入文件,我想使用 Aes (CBC) 对其进行加密,但我每天都会获取新数据,并且我想每周、每月、每年将所有数据写入一个文件,这取决于在内容上。因此,“服务器”肯定会重新启动/关闭(它不会是真正的服务器),我想知道是否有可能以某种方式获取(并保存到文件)我可以使用的最新初始化向量重新启动继续加密数据并将其写入同一文件。这样当我解密文件时,我就可以在某个地方得到文件的 iv 并且可以只用那个 iv 解密它?
伪代码:
加密:
1.) 根据iv和key加密数据
2.) 数据流停止后,“特殊 iv”被保存到另一个文件中
3.) 数据流停止,一段时间过去,“服务器”被关闭或重新启动
4.) 从文件中读取“特殊 iv”并继续加密 3. 和 4. 循环一周、一个月、一年
解密:
1.) 从该文件中读取(以某种方式获得)iv 和密钥
2.) 使用该 iv 和密钥解密文件
解密不应注意到加密曾经停止并且应用程序退出,... 我不知道如何实现这一点,如何获得“特殊 iv”。不过我觉得这应该是可以实现的。
你觉得有什么合理的方法可以获得那个特殊的iv吗?关于如何做到这一点的任何想法?
非常感谢您的时间和回答。
编辑:我正在使用 AES 的 .NET (4.0) 实现,如果可能的话,我更愿意使用它
【问题讨论】:
标签: c# aes encryption