Я хочу использовать токен аутентификации, после различных поисков я нашел токен JWT и другой метод генерации токена с md5.
По разным причинам я не хочу использовать токен JWT, и мне кажется, что md5имеют плохую репутацию.
Итак, я нашел метод, но мне хотелось бы узнать ваше мнение:
Генерация байтовой строки: https://www.php.net/manual/en/function.random-bytes.php
Затем я преобразую это в шестнадцатеричное.
Наконец, я объединяю это с идентификатором моего пользователя и солью.
Я отправляю это в свое приложение (Android или в Интернет), чем во время запроса к моей службе я декодирую полученный токен,и я увижу токен, содержащийся в идентификаторе, спрятанном в токене.Значит, найти маркер с помощью грубой силы сложнее?
Примечание 1: я хотел бы обновить токен в будущем, но на данный момент он должен быть выдан на неопределенный срок.
Примечание 2: я не хочу использовать библиотеку или фреймворк только в php.
Код:
$bytes = random_bytes(32);
$part=bin2hex($bytes));
$shortpart=substr($part,0,17);
$id = #userid
$salt=#customsalt
$token=shortpart.$id.$salt;
Пример:
$shortpart =f2e4d1f2a2dfedcf5
$id=1
$salt=4d2ze121
$token=f2e4d1f2a2dfedcf514d2ze121
Пользователь или хакер не знает, что id скрыт в токене.