Ответ 1
Вы просто хотите проверить токен, предоставленный другими? Если да, относитесь к нему так же, как к паролю. Используйте алгоритм деривации байта, например Функция деривации пароля на основе пароля 2 (PBKDF2) (также описанная в RFC 2898) с 10 000 итераций и сохраните первые 20 байтов или около того. Когда маркер получен. Это практически не обратимо.
Вы хотите представить токен другим для аутентификации? Если это так, это вызов, потому что, если ваше приложение может расшифровать или иным образом получить доступ к токену, то и злоумышленник. Подумайте, Шеннон Максим, злоумышленник знает систему, особенно для проекта с открытым исходным кодом.
В этом случае наилучшим подходом является шифрование токенов с помощью сильного алгоритма (например, AES256), генерация ключей с использованием мощного генератора случайных чисел криптографического стандарта и надежное хранение ключей (ов) в другом месте для данных, например, в файле, защищенном разрешением, за пределами базы данных в приведенном выше примере. Последнее означает, что атаки SQL-инъекции не будут раскрывать ключи.