PHP: минимизировать зашифрованное значение - PullRequest
1 голос
/ 22 марта 2012

Возможно ли преобразовать зашифрованную строку (аналогично md5), не теряя возможности ее декодирования обратно?

Ответы [ 3 ]

2 голосов
/ 22 марта 2012

Хеш по определению односторонний. Вы не сможете хэшировать свою зашифрованную строку, а затем «разархивировать» ее, чтобы снова получить зашифрованную строку.

Однако вы можете попытаться «минимизировать» зашифрованную строку с помощью:

  • Использование алгоритма сжатия без потерь - хотя при таком подходе маловероятно, что зашифрованные данные плохо сжимаются, а для некоторых входных наборов сжатие может на самом деле увеличить хранилище требования .
  • Сжатие данных перед их шифрованием. В зависимости от размера ввода, можно уменьшить размер на несколько процентов по сравнению только с шифрованием (в зависимости от алгоритмов), но обычно не более чем на 5-10% (опять же, этот ответ указывает на это выход)
  • Перекодирование данных с более высокой «базой» (т. Е. Вашей строкой является Base64, вы можете переключиться на Base85 ) - но это приводит только к 7% экономии
0 голосов
/ 22 марта 2012

Лучший способ шифрования в PHP - использование расширения Mcrypt. http://www.php.net/manual/en/book.mcrypt.php

Пример для шифрования и дешифрования .

Я рекомендую также base64 кодировать результат шифрования.

Сокращение не имеет смысла для небольших данных (например, паролей).

0 голосов
/ 22 марта 2012

вы можете использовать RSA для шифрования ваших данных, см. this , он говорит о шифровании в php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...