C # rijndael CryptoStream Могу ли я записывать в файл биты, как это делает текстовый редактор? - PullRequest
1 голос
/ 15 декабря 2009

Задумывался, как зашифровать 2 строки вместе.

Потому что я добавляю биты и строку битов в реальном времени (по str = str + bitString;) и в конце. Я генерирую строку и зашифрую ее.

Теперь вопрос в том, могу ли я зашифровать и записать bitString в режиме реального времени, как текстовый редактор? Что-то вроде: CrytoStream cr = new (outFile, xxx, write) cr.write (битовый);

Примеры будут оценены.

1 Ответ

5 голосов
/ 15 декабря 2009

Это именно то, для чего предназначен CryptoStream.

Полный образец см. В Документация MSDN , в частности, метод EncryptTextToFile.

Вы просто создаете CryptoStream «поверх» любого FileStream (или любого другого потока), а затем записываете данные непосредственно в криптопоток:

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...");
...