Я использую GUID в качестве случайных ключей для операций с типом базы данных.
Шестнадцатеричная форма с черточками и дополнительными символами кажется мне излишне длинной. Но мне также нравится, что строки, представляющие шестнадцатеричные числа, очень безопасны, так как они не содержат символов, которые могут вызвать проблемы в некоторых ситуациях, таких как «+», «=» и т.
Вместо шестнадцатеричного числа я использую безопасную для URL строку base64. Следующее не соответствует какой-либо спецификации 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('=', '')