Хеши/крипто

UUID Generator

Генерация UUID версий 1, 3, 4, 5, 6 и 7 — случайных, временных и производных от имени (name-based).

A UUID (Universally Unique Identifier) is a 128-bit identifier that's unique in practice without a central registry: two independent servers can generate one at the same moment and almost never collide. The versions differ in how they're generated.

Which version to pick

Common uses

Things to keep in mind

UUID v1 and v6 embed the generating device's MAC address — avoid them if that's an unwanted disclosure.

The format is 32 hexadecimal characters grouped with hyphens as 8-4-4-4-12 (e.g. 550e8400-e29b-41d4-a716-446655440000).

Статья об этом инструменте: UUID: как генерируют идентификаторы, которые почти никогда не повторяются

Часто задаваемые вопросы

В чём разница между UUID v4 и другими версиями?

UUID v4 генерируется из случайных или псевдослучайных чисел, что делает его самым простым вариантом без зависимости от времени или аппаратных идентификаторов. Другие версии, например v1, кодируют временную метку и MAC-адрес, а v5 детерминированно выводит UUID из пространства имён и имени.

Насколько вероятно совпадение двух сгенерированных UUID?

Крайне маловероятно. UUID v4 имеет 122 случайных бита, поэтому потребовалось бы генерировать миллиарды UUID в секунду на протяжении веков, прежде чем коллизия стала бы статистически вероятной.

Отправляются ли сгенерированные здесь UUID куда-либо?

Нет. Генерация происходит полностью в вашем браузере с использованием криптографически стойкого источника случайности — ничего не отправляется на сервер.

Что такое UUID v7 и чем он лучше v4 для баз данных?

UUID v7 встраивает метку времени в первые биты, поэтому значения естественно сортируются по времени создания — в отличие от полностью случайного v4, который плохо влияет на производительность индексов базы данных из-за хаотичного порядка вставки новых записей.

Можно ли использовать UUID как секретный токен?

Для UUID v4 — да, поскольку он генерируется криптографически стойким генератором случайности. Но UUID v1 частично раскрывает время создания и MAC-адрес устройства, поэтому не подходит там, где нужна непредсказуемость.

Статьи: Хеши/крипто

Hash Generator: чем MD5, SHA-1 и SHA-256 отличаются друг от друга

Почему MD5 до сих пор используют для проверки целостности файлов, но не для паролей.

Checksum Verifier: как проверить, что файл не повреждён

Почему совпадение контрольной суммы подтверждает целостность файла, но не то, кто его создал.

HMAC: чем хеш с ключом отличается от обычного хеша

Почему обычный SHA-256 не защищает от подделки сообщения, а HMAC — защищает.

Bcrypt: почему пароли хешируют медленно, а не быстро

Почему быстрый SHA-256 — плохая идея для паролей, а медленный bcrypt — правильная.

Генератор паролей: что на самом деле делает пароль устойчивым

Почему длинный пароль из словаря надёжнее короткого с символами и цифрами.

AES: как работает симметричное шифрование

Почему один и тот же ключ шифрует и расшифровывает данные в AES, и чем это отличается от асимметричного шифрования.

Argon2: почему этот алгоритм победил в конкурсе на хеширование паролей

Чем Argon2 лучше защищает от атак на видеокартах, чем более старые алгоритмы хеширования паролей.

Scrypt: зачем алгоритму нужно много памяти

Почему scrypt намеренно требует много памяти, чтобы усложнить перебор на ASIC-устройствах.

TOTP: как работают одноразовые коды в приложениях-аутентификаторах

Почему код в Google Authenticator работает без интернета и синхронизируется с сервером только по времени.

PBKDF2: самый старый стандарт растяжения ключей

Почему рекомендуемое количество итераций PBKDF2 растёт с каждым годом.

X.509: что внутри SSL-сертификата

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

PGP: как работает шифрование с открытым и приватным ключом

Почему можно свободно делиться публичным ключом PGP, но не приватным.