Ошибка расшифровки файла - PullRequest
1 голос
/ 29 июня 2009

Я шифрую файл, используя идеи из tldp.org / LDP / LG / issue87 / vinayak.html . Я скачал и скомпилировал этот исходный код для шифрования / дешифрования простого текстового файла. После компиляции я делаю:

./blowfish input_file.txt output_enc.txt output_dec.txt

Я использую опции:

  1. G для генерации ключа
  2. E для шифрования файла, поэтому генерируется output_enc.txt
  3. D для расшифровки output_enc.txt, поэтому генерируется output_dec.txt

На третьем шаге я получаю ошибку сегментации. Создается дешифрованный файл, но он отличается некоторыми символами от исходного. Есть идеи?

Ответы [ 2 ]

1 голос
/ 07 июля 2009

Этот вопрос очень похож на тот, на который я отвечал ранее. Вы искали перед публикацией вопроса? В любом случае вот ссылка . Страница, которую вы используете в качестве источника, неверна. Помните, что предоставленный мною код является только исправленной версией исходного кода и может быть оптимизирован.

0 голосов
/ 30 июня 2009

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

 if (EVP_DecryptFinal (&ctx, outbuf + olen, &tlen) != 1)

Процесс завершается с действием по умолчанию сигнала 11 (SIGSEGV) Доступ не в сопоставленном регионе по адресу 0x808080C

...