Какой алгоритм формирования ID сообщения в Twitter?

Привет!

Интересует алгоритм или примерная схема формирования ID сообщения в Twitter. Например мы имеем такой URL: twitter.com/myusername/status/471252841584394240.

Как получается это число?

По сути мне нужно не сжимать ID каким-нибудь base62, а наоборот разворачивать его до какой-нибудь фиксированной длинны, скажем 16 целочисленных символов и тем самым иметь некоторую защиту от "граббера". Вот в Twitter что-то похожее.
  • Вопрос задан
  • 2856 просмотров
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
У них был целый проект посвященный генерации этих id в промышленных масштабах. Сейчас проект закрыт, старый код можно смотреть в истории комитов. https://github.com/twitter/snowflake

Если порассуждать как можно это реализовать на коленке - можно в качестве внешнего id использовать что то типа
$outer_id = $id . "-" . md5($salt.time());
Обрезать до приемлемой длины по вкусу.

id получится гарантированно уникальный, т.к содержит $id и при этом трудноподбираемый перебором.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AxisPod
@AxisPod
UUID возьмите.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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