Я использую GUID в основном в качестве первичных ключей и часто должен передавать их в качестве аргументов URL.
Шестнадцатеричная форма с черточками и дополнительными символами кажется мне излишне длинной. Но мне также нравится, что строки, представляющие шестнадцатеричные числа, очень безопасны, так как не содержат символов, которые могут вызвать проблемы с URL-адресами.
Вместо шестнадцатеричного числа я использую безопасную для URL строку base64. Ниже приведен код Python, который делает это. Хотя он не соответствует какой-либо спецификации UUID / GUID (кроме необходимого количества случайности).
import base64
import uuid
# get a UUID - URL safe, Base64
def get_a_Uuid():
r_uuid = base64.urlsafe_b64encode(uuid.uuid4().bytes)
return r_uuid.replace('=', '')