c# AES CBC使用2种方法将2条加密数据添加到一个文件中
关键问题是,如果我使用新的加密流,它会将新的 IV 添加到第二条数据中。那么这将无法解密。因此,我需要确保流将使用第一个数据的最后一个块来加密第二个数据的第一个块。
它提出了使用相同的流来加密 2 条数据的任务。 但我无法弄清楚。尝试创建一个新类并将所有加密设置放入该类中。然后从 main 中调用 StreamWriter。但没有运气。
我有什么遗漏或错误的地方吗?
The key issue is if I use a new cryptostream it will add new IV to second piece of data. Then this wont be ablt to decrypted. So I need to make sure the stream will use the last block of 1st data to encrypt the first block of 2nd piece of data.
It comes up with the task of using same stream to encyprt 2 piece of data.
But I couldn't figure it out. Tried creating a new class and put all encryption settings inside the class. Then call StreamWriter from the main. But no luck.
Anything I miss or got wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不要让
AesCryptoServiceProvider
生成自己的 IV,而是在加密第二部分之前显式设置IV
属性。该值应该是前一段密文的最后一个块。您不需要创建一个新类。只需正确设置属性即可。
Instead of letting the
AesCryptoServiceProvider
generate its own IV, set theIV
property explicitly before encrypting the second portion. The value should be the last block of ciphertext from the previous segment.You shouldn't need to create a new class. Just set the property correctly.