Как более короткие GUID дружественные к пользователю?

Я только что пересек это блог использует ShortGuid для создания маркеров проверки регистрации.

когда я попытался открыть ссылку, которая говорит более короткий и URL дружественный Guid кажется, что ссылка перенаправляет на какую-то другую ссылку. Он открывает сайт на другом языке.

но у меня есть несколько вопросов, как более короткий Guid может быть удобным для пользователя? И когда мне его использовать?

5 ответов


есть копировать/прошлое на благо. Если я правильно понимаю, речь идет не о хороших URL-адресах, а о токенах проверки. Многие люди копируют / pase коды двойным щелчком, а затем Sguid (ShortGuid) действительно более удобен для пользователя. Попробуйте:

Xy0MVKupFES9NpmZ9TiHcw

540c2d5f-a9ab-4414-bd36-9999f5388773


как более короткий Guid может быть удобным для пользователя?

если ваши пользователи вводят URL-адреса вручную, а не нажимают ссылки, это не очень вероятно.

и когда я должен использовать его?

все символы в GUID (A-F, 0-9, -) являются URL-безопасными, поэтому "безопасность" на самом деле не является аргументом.

вы можете рассмотреть его по эстетическим причинам, или для удобства копирования и вставки url.


Guid обычно выражаются в базе-16 (с использованием 0-9 и A-F). Это делает струны длинными. Тот же объем данных может быть выражен в более короткой строке, если вы используете больше символов (0-9, a-z, A-Z и другие специальные символы, такие как _ или @).

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

кто-то может утверждать, что более короткий формат требует меньшей пропускной способности, но практическая экономия незначительна.


как более короткий Guid может быть удобным для пользователя?

ты сам ответил на свой вопрос, на вопрос. Это довольно очевидно: 7A9D35A3 (короче) намного легче запомнить / тип, чем 7A9D35A3-4999-4130-8E2B-EB0447D942FA.

и когда я должен использовать его?

примером может быть использование его в качестве ссылки. Некоторые примеры:

  • " произошла ошибка, обратитесь в службу поддержки. Ссылка: 7A9D35A3"
  • " ваш заказ был подтвержден! Код бронирования: 7A9D35A3"

Как насчет использования таблицы БД для сопоставления идентификатора с GUID. Что-то вроде

ID      GUID
1000    540c2d5f-a9ab-4414-bd36-9999f5388773
1001    123c2d5f-a9ab-4414-bd36-9999f5388773
1002    567c2d5f-a9ab-4414-bd36-9999f5388773

было бы намного проще масштабировать или переносить, а затем использовать ID в каждой таблице db, и вы получите чистый ID.