c# AES CBC使用2种方法将2条加密数据添加到一个文件中

发布于 2024-08-14 17:07:30 字数 207 浏览 3 评论 0原文

关键问题是,如果我使用新的加密流,它会将新的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我偏爱纯白色 2024-08-21 17:07:30

不要让 AesCryptoServiceProvider 生成自己的 IV,而是在加密第二部分之前显式设置 IV 属性。该值应该是前一段密文的最后一个块。

您不需要创建一个新类。只需正确设置属性即可。

Instead of letting the AesCryptoServiceProvider generate its own IV, set the IV 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文