2013-11-07 3 views
0

Так у меня есть этот шифровать текстовые файлы программы (которая работает по желанию), проблема в том, что мне нужно, чтобы отобразить этот результат на MessageBox:Как читать числа строк в зашифрованном текстовом файле?

число строк прочтенных ДО и ПОСЛЕ шифрования файлов зашифрован .. ..

линия счетчик для линий прочтенных перед шифрованием уже работает с тем же алгоритмом

Ej. 'X' числа строк, пронумерованных 'Y' номеров строки, зашифрованы.

у меня есть этот простой алгоритм, чтобы прочитать зашифрованный файл:

public long CountlLines(string a) 
    { 
     long count = 0; 
     string line; 

     FileStream FS = new FileStream(a, FileMode.Open, FileAccess.Read); 
     StreamReader Reader = new StreamReader(FS); 

     while (Reader.EndOfStream == false) 
     { 
      line = Reader.ReadLine(); 
      count++; 
     } 


     Reader.Close(); 
     return count; 
    } 

я получил это 159 строк файлов, которые, когда расшифрован, производит 11 линий зашифрованного кода (открыт в блокноте), но с этим алгоритмом я получено:

Ej. '159' зашифрованы числа строк, пронумерованных '1' номерами строки.

Метод шифрования - AES с 128-битным ключом ... (в случае ...). Я делаю что-то неправильно? или существует какой-то конкретный метод или «способ» для чтения зашифрованного текста? Благодарю.

+0

ты хотел сказать, что подсчет строк после шифрования содержимого дает ошибку? –

+0

Блокнот - это автоматическое разбиение строк, лучше использовать Notepad ++ –

+1

Вы не можете прочитать количество строк в зашифрованном файле перед его расшифровкой - по крайней мере, в каком-либо значимом смысле. –

ответ

2

Ваш зашифрованный файл не содержит маркеров новой строки. Таким образом, когда ваш «Reader.ReadLine()» выполняет, он делает то, о чем вы его просили. Он читает строки до тех пор, пока не дойдет до новой строки, в которой нет любого, потому что вы зашифровали их все. Теперь его одна линия.

Предполагая, что вы, конечно, зашифровать все содержимое, а не построчно;)

+0

Большое спасибо, у меня была такая же теория, когда я начал искать другие «методы» для чтения строк, но у меня не было источника, чтобы подтвердить это. :) –

+0

Зашифрованный текст может содержать символы новой строки (шанс 1/256, что любой заданный байт равен «\ n»), но они ничем не значимы, поскольку зашифрованный текст - это двоичные данные, а не текст. – ntoskrnl

Смежные вопросы