ID пользователя Crypt () должен быть буквенно-цифровым для использования в URL запроса API

0

Когда пользователь добавляет учетную запись в свой профиль, этой учетной записи будет присвоен идентификатор с автоматическим увеличением, как ожидается в базе данных.

Я использую этот идентификатор, а затем использую функцию php crypt($account_id, 'salt_here') с настраиваемой статической солью для создания безопасного общедоступного идентификатора, который мне не нравится, если пользователь видит, а затем добавляет его в базу данных для для будущего использования.

Этот зашифрованный идентификатор, который я хочу использовать в REST API, который я сейчас создаю.

Здесь, где я:

  • Пользователь использует API для получения учетных записей в профиле /v1/accounts/PROFILE_USERNAME
  • Каждый результат учетной записи показывает crypted_id, который я просто назвал id в результирующих данных (я не хочу показывать реальный идентификатор из базы данных) "id": "Mq5RFENsi4/rw"
  • Затем пользователь может перебирать данные учетной записи из запроса API и получать crypted_id, а затем делать другой запрос API (/v1/accountSiblings/ACCOUNT_CRYPTED_ID) (ACCOUNT_CRYPTED_ID = Mq5RFENsi4/rw) для получения дополнительной информации об учетной записи, например, сколько братьев и сестер учетная запись имеет.

Проблема в том, что crypt() не возвращает буквенно-цифровые результаты, поэтому данные передаются в URL-адрес для другого API-запроса, особенно учитывая, что он может возвращать косые черты и другие символы, которых я не хочу.

Есть ли еще одна функция криптографии с одним каналом, которую я могу использовать, это только буквенно-числовое значение, которое будет использоваться в качестве зашифрованного идентификатора?

Есть ли лучший способ достичь того, что я пытаюсь сделать?

Надеюсь, я достаточно ясен, спасибо

Теги:
encryption
crypt

1 ответ

0
Лучший ответ

Это 4 утра, так что несите меня.

Я думаю, для меня будет просто просто md5() выход в крипту...

Не имеет значения, расшифровывается ли этот mh5-хэш, потому что конечный результат в основном gobbledegook и является односторонним хэшем.

Очевидно, теперь, когда я думаю об этом...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню