2012-06-12 2 views
0

Я хочу прочитать содержимое файла PDF и зашифровать содержимое с использованием AES256-шифрования и опубликовать содержимое (зашифрованное) как строку base64.Чтение и шифрование PDF-файла в C#

для этого у меня есть 2 решения

  1. читать содержимое с помощью ридера потока (PDF отформатированные данные) в шифровать содержание и кодирование base64, наконец отправить зашифрованную строку

  2. Чтение PDF содержимое и конвертировать его в текст затем encrpt, а затем отправить

Какой наилучший метод, если я использую первый метод, тогда возникнет какая-либо проблема для отказ

Мне нужно ваше мнение Пожалуйста, помогите мне

+0

Зачем конвертировать файл в текст? Как вы будете конвертировать обратно в PDF на другом конце? Просто используйте первый вариант, он звучит так же хорошо, как и любой другой – musefan

+0

@musefan: Да, я делаю первый вариант. Но я беспокоюсь о формате PDF-контента. – Hope

+0

Формат pdf не должен иметь значения, поскольку вы имеете дело с данными на уровне байтов, вы, скорее всего, столкнетесь с проблемами, если сначала попробуете и повторно интерпретируете формат файла. Просто зашифруйте поток файлов как есть, закодируйте его, если хотите, передайте, а затем измените процесс как другой конец – musefan

ответ

1

Ваш первый метод кажется абсолютно нормально, и я бы, конечно, пойти на такой подход. То, что вы в основном делаете, - это простая передача файла с одной машины на другую.

Если вы считаете это без шифрования, все, что вам нужно сделать, это отправить поток файлов точно так же, как вы его читаете, это гарантирует, что получатель получит файл в исходном состоянии и может надежно открыть файл как он будет в том же формате, в котором он был запущен.

Теперь, когда мы рассматриваем возможность добавления шифрования, все, что мы делаем, это изменение исходных двоичных данных файла. Пока мы дешифруем файл на другом конце с использованием тех же ключевых параметров, мы можем быть уверены, что у нас все еще будут те же исходные исходные данные файла, с которых мы начали (при условии, что мы не получаем потери данных во время соединения - вы можете добавить хеш-проверка для этого, если требуется, например)

+0

Спасибо musefam, – Hope