我正在尝试创建一个流式加密包装器。我有一个网络连接,可以加密传输数据,我想即时解码它。这是使用 native 加密类的相同功能的链接,但我需要使用 Bouncy CaSTLe 来完成此操作。
https://github.com/pdelvo/Pdelvo.Minecraft/blob/master/Pdelvo.Minecraft.Network/AesStream.cs
我尝试使用 BufferedStreamCipher 但无法弄清楚如何让它工作,也找不到任何示例。任何帮助将不胜感激。
谢谢, 雷
最佳答案
所以它似乎是 CFB8 模式下的 AES,并且您需要一个 Stream。
您可以使用以下方式获取 enc/dec 密码对象
CipherUtilities.GetCipher("AES/CFB8/NoPadding");
您必须对每个调用 Init,
new ParametersWithIV(new KeyParameter(keyBytes), ivBytes)
然后你可以用它们包装一个(双向)流:
new CipherStream(innerStream, readCipher, writeCipher)
这可能会让您开始,但我不能百分百确定它会按照您需要的方式进行流式传输。不过,试一试吧。如果我们可以采取一些措施来改进它,请回复我或发布到 BC C# 邮件列表。
关于c# - 带网络流的充气城堡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14350455/