@MakarMS

Как зашифровать на PHP строку в токен 32 символа?

Изначально задача стоит так, чтобы зашифровать массив (строка JSON) на пхп в красивый токен 32-64 символа (на подобие хэширования MD5) и иметь возможность его расшифровать. Этот токен будет находится в URL, поэтому и такой длинны. Можно ли это как-то реализовать?
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
зашифровать массив (строка JSON) на пхп в красивый токен 32-64 символа (на подобие хэширования MD5) и иметь возможность его расшифровать.
Надеюсь вы в курсе, что MD5 необратимый алгоритм? Именно по этому с его помощью можно получить строку фиксированной длинны (при этом получая небольшой процент коллизий) от строки любой длинны. Очевидно, что строку произвольной длинны, больше чем 32 или 64 символа, невозможно упаковать в стандартную длину (например 1000 символов запаковать в 64, иначе нафига нужны бы были архиваторы).

Однако, можно сделать иначе: На сервере хранить строку (например в бд), а ключом к ней будет хэш от этой строки, можно даже с солью.
Ответ написан
Комментировать
@rPman
возможность его расшифровать
это о чем? восстановить исходную строку из 64 символов? если изначальная строка будет не больше этого размера то это возможно обычным шифрованием с ключом, алгоритмов тьма, популярный - асимметричное шифрование

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

Ну и само собой невозможно любые данные упаковать в фиксированный объем. Где то нужно хранить изначальные данные и тогда твой токен будет просто идентификатором
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы