Beshere
@Beshere
Разработчик

Можно ли использовать UUID для генерации ключей?

Многие годы пользовался (явно или неявно) последовательностями и счётчиками для генерации ключей (id) в таблицах баз данных.

Но недавно увидел, как некто использует UUID для этой цели.

Насколько это решение надёжно? Можно ли прибегнуть к нему, если под рукой нет штатных секвенций/счётчиков?
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
Насколько это решение надёжно?
Настолько же, насколько и любое другое. Какой аспект "надёжности" вас интересует, что вы вкладываете в это слово?

Можно ли прибегнуть к нему, если под рукой нет штатных секвенций/счётчиков?
Можно прибегнуть даже они есть.

UUID хорошо подходит для распределённых систем и генерации идентификатора на клиенте - тогда, когда нет возможности использовать БД как единый источник правды.

Ещё он позволяет сокрыть данные о системе - сколько пользователей регистрируется в день, сколько заказов оформляется и т.п. Если используется монотонно возрастающий счётчик, легко получить какие-то инсайты о чужом бизнесе (German tank problem).

Для разработчиков с не очень прямыми руками он может выступить аналогом авторизации и защитить от банального изменения таким же криворуким пентестером циферки в адресной строке. Но полагаться на сложность подбора в смысле авторизации не нужно, нужно сразу делать нормальную защиту.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы