C# 我可以将一个流加密到另一个流吗?

C# 我可以将一个流加密到另一个流吗?,c#,.net-core,serilog,C#,.net Core,Serilog,在使用Serilog进行日志记录时,我设法创建了一个包装器,以便挂接到流式日志消息中,因此我现在需要的是对日志消息进行加密。这个消息现在是一个流,所以我可以加密一个流,还是必须先解密然后再加密 请在此提供可用选项的建议 非常感谢您可以链接流,请参见.net加密流示例: 我指的是代码片段: // Create the streams used for encryption. using (MemoryStream msEncrypt = new MemoryStream()) { usin

在使用Serilog进行日志记录时,我设法创建了一个包装器,以便挂接到流式日志消息中,因此我现在需要的是对日志消息进行加密。这个消息现在是一个流,所以我可以加密一个流,还是必须先解密然后再加密

请在此提供可用选项的建议


非常感谢

您可以链接流,请参见.net加密流示例:

我指的是代码片段:

// Create the streams used for encryption.
using (MemoryStream msEncrypt = new MemoryStream())
{
    using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
    {
        using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
        {

           //Write all data to the stream.
           swEncrypt.Write(plainText);
        }
         encrypted = msEncrypt.ToArray();
    }
}
如您所见,大多数流类型使用所谓的装饰器模式

这意味着您可以将对象包装为相同基本类型的对象。在本例中,内存流msEncrypt被包装在csEncrypt中,因为它是作为参数在其构造函数中传递的

我认为这就是你所寻求的,你已经有了你的源流,用加密流来包装它:

至少。。。如果这是你的问题,在重读之后。。。我开始想知道你说的加密是什么意思