Шифрование Файла Документа Word
Я смог зашифровать текстовые документы с помощью StreamReader и StreamWriter для чтения и изменения содержимого файла.
Но слово, я попытался сначала переименовать его в txt, а затем открыть его, и я шифрую все, что внутри, когда я расшифровываю его, он остается поврежденным.
Мне нужно объяснение, чтобы прочитать строку в файле документа word.
PS: я использую свой метод шифрования Caesar
Редактировать :
Мне все равно, слабый он или нет.
Я просто хочу знать, как зашифровать файл документа word.
Например, у меня был документ word с текстом "ABCDEFGHIJKLMNOPQRSTUVWXYZ" внутри.
И я собираюсь зашифровать его с помощью шифра Вернама.
Как же так?
Member 13566383
Если ваше программное обеспечение для шифрования / дешифрования не может обрабатывать двоичные файлы, а только текстовые файлы, вы должны преобразовать двоичный файловый поток в строки Base64 или символьные массивы (каждые 3 байта будут представлены 4 символами).
Методы, которые нужно использовать, - это преобразование.ToBase64String / Convert.ToBase64CharArray.
Расшифровка вашего зашифрованного файла приведет к созданию строк / символов Base64, которые вы можете преобразовать в двоичный формат с помощью соответствующих методов Convert.FromBase64...
The Magical Magikarp
Зачем конвертировать в Base64? Почему бы не сделать файл.ReadAllBytes(path), а затем преобразуйте байты в шестнадцатеричные символы, чтобы вы могли просматривать их, скажем, в RichTextBox? :D
The Magical Magikarp
Base64 вряд ли идеально подходит для этого, потому что если бы вы попытались преобразовать.FromBase64String(string), то вы бы ничего не увидели, если бы отображались в RichTextBox или метке и т. д. Шестнадцатеричное число позволяет вам на 100% просматривать байты, даже нулевые байты("\x0" или "00"), идеально.
Member 13566383
У меня никогда не было никаких проблем с чтением символов Base64. Поток Base64 состоит только из допустимых символов ASCII. Никаких проблем с нулевым байтом, ознакомиться с MDSN документации для конвертирования.Метод ToBase64String:
".....В следующем примере демонстрируется применение метода ToBase64String. Входные данные разделены на группы по три байта (24 бита) в каждой. Следовательно, каждая группа состоит из четырех 6-разрядных чисел, где каждое число колеблется от десятичного 0 до 63. В этом примере имеется 85 3-байтовых групп с одним оставшимся байтом. Первая группа состоит из шестнадцатеричных значений 00, 01 и 02, которые дают четыре 6-битных значения, равные десятичным 0, 0, 4 и 2. эти четыре значения соответствуют базовым 64 цифрам "А", "А", "Е" и "С" в начале вывода."