C#rijndael CryptoStream可以像文本编写器一样写入文件位和位吗?

时间:2009-12-15 00:38:44

标签: c# rijndaelmanaged

正在努力解决如何一起加密2个字符串的问题。

因为我实时添加位和位串(通过str = str + bitString;)并在结尾处。我生成字符串并加密它。

现在的问题是我能像文本编写者那样实时地编写和编写bitString吗? 就像是: CrytoStream cr = new(outFile,xxx,write) cr.write(比特串);

示例将会被批评。

1 个答案:

答案 0 :(得分:5)

这正是CryptoStream旨在处理的问题。

有关完整示例,请参阅MSDN's Documentation,特别是EncryptTextToFile方法。

您只需在任何FileStream(或任何其他流)的“顶部”构建CryptoStream,然后将数据直接写入cryptostream:

FileStream fStream = File.Open(fileName, FileMode.OpenOrCreate);

// Create the CryptoStream
CryptoStream cStream = new CryptoStream(fStream, Rijndael.Create().CreateEncryptor(Key, IV),                 CryptoStreamMode.Write);

// Create a StreamWriter using the CryptoStream.
StreamWriter sWriter = new StreamWriter(cStream);

// Write data to be encrypted:

sWriter.WriteLine("Some text that will get encrypted");
sWriter.WriteLine("More data...");