gpt4 book ai didi

c# - 重建 CryptoStream 有多少开销?

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:40 25 4
gpt4 key购买 nike

过去几天我一直在为一个问题苦思冥想:在进行公钥交换 + 登录后,我的端点切换到 Rijndael 对称加密模式来加密客户端之间的消息和服务器。

问题是,我创建了加密流并将其保持开放状态,认为这是最好的方法,因为该 channel 将用于发送多个连接。当我这样做时,加密永远不会完全输出到基本流。根据 msdn,它说:

You should always explicitly close your CryptoStream object after you are done using it by calling the Close method. Doing so flushes the stream and causes all remain blocks of data to be processed by the CryptoStream object.

为发送的每条消息重建它似乎有很多开销。是否有某种原因,或者我只是遗漏了什么?

最佳答案

AES(Rijndael) 使用固定大小的 block ,因此输出可以是 block 大小的倍数。如果输入未与 block 大小对齐,则会对其进行填充。在解密时,此填充被删除。要知道要添加多少填充,AES 需要知道确切的流长度。并且可以在流结束时(关闭后)确定该长度。

关于c# - 重建 CryptoStream 有多少开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15950763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com