шифрование — есть ли в любом случае, чтобы зашифровать / расшифровать хэш в PHP?

Мне интересно зашифровать / расшифровать хеш в PHP.

Но, как я знаю, хеш можно кодировать только с помощью md5, sha1, sha256.

Тем не менее, возможно ли сделать шифрование / дешифрование в PHP с помощью другого хеша, такого как palemd160, haval256,5 или palemd256?

Поблагодарить

-2

Решение

Алгоритмы хеширования не являются алгоритмами шифрования. Алгоритмы хеширования имеют следующие принципы:

  • Конкретный ввод дает всегда один и тот же вывод
  • Ввод не может быть решен на основе вывода
  • Любое изменение ввода приведет к другому выводу

Технически последнее неверно, потому что у вас есть ограниченное количество возможных выходов, но в основном неограниченное количество возможных входов. Поэтому будут и другие входные данные, которые выдают тот же результат, но для сильных алгоритмов хеширования нахождение этих коллизий ОЧЕНЬ долго, как объяснил @ delboy1978uk.

MD5 является примером слабого алгоритма хэширования, который не следует использовать для безопасных хэшей. Столкновение атаки против MD5 дешево. С другой стороны, алгоритмы хеширования в семействе SHA2 можно считать безопасными (например, SHA256).

Алгоритмы шифрования требуют ключа или нескольких ключей, чтобы вы могли расшифровать текст шифра.

Краткий ответ на ваши вопросы — нет.

2

Другие решения

Хэши — это односторонние алгоритмы. Единственный способ их взломать — это перебор.

Например, Биткойн использует хэши SHA-256 для получения адресов. Вы можете быстро перебрать первые пару букв / цифр, но даже взлом первых 6 займет день. 7 займет неделю, 8 может быть месяцев! Взлом целого адреса биткойнов займет годы за годами!

Поэтому я боюсь, что то, что вы просите, не может быть сделано.

2

По вопросам рекламы [email protected]