2016-07-09 4 views
0

Я просто укажу код здесь, но полный код можно найти на Pastebin.mcrypt_decrypt() не возвращает правильные данные

Я использую POST запросов для отправки данных на сервер и с сервера шифрования (я делаю шифрования работает на моем 2-го сервера, для дополнительной безопасности), так вот почему все первоначально получил в качестве $_POST переменной.

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

] A} /7Q Ţ/& OO

вектор инициализации сохраняется с исходными данными, и я использую explode(), чтобы отделить его, формат выглядит так: "IV:Encrypted String".

PHP не бросает никаких ошибок, когда я запускаю это, и я основывал это на PHP documentation.

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

Если вам нужна дополнительная информация, пожалуйста, спросите в комментариях, я был бы рад предоставить ее вам! :)

+2

Эй, может быть, использовать https://github.com/defuse/php-encryption вместо этого кода mcrypt? –

+2

Стандартный комментарий об использовании функций 'mcrypt_ *', потому что они устарели и не используют дополнения PKCS7 и т. Д. –

+0

@ Парк Лук, они устарели, я никогда не знал! – DibDibs

ответ

0

Сохранены ли данные в базе данных? Если это так, вы можете взглянуть на свои настройки сортировки. Метод mcrypt_encrypt может генерировать символы, которые не могут быть сохранены в коллизии по умолчанию в базе данных, что объясняет случайные символы.

+0

Нет, это не так, но это будет, спасибо за головы, избежит строки исправить это, когда я храню его в базе данных? – DibDibs