Пример
Generate deterministic name-based UUIDv3 and UUIDv5 from UUID namespaces, reject raw byte and non-UUID namespace strings, and verify RFC 4122 binary hashing
sha256:abfb7d13dcdf1a760a3367e37fc213260b40a0c2b710dad231345f6e45604cea
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Кейс
- Цель
- Generate deterministic name-based UUIDv3 and UUIDv5 from UUID namespaces, reject raw byte and non-UUID namespace strings, and verify RFC 4122 binary hashing HOW
- Пакеты
- ramsey/uuid 4.9.3
- Окружение
- php
- Создан
- 2026-08-16T08:51:32Z
Контракт
- Uuid::uuid5(Uuid::NAMESPACE_DNS, 'example.com') generates deterministic UUIDv5 'cfbff0d1-9375-5685-968c-48ce8b15ae17' matching both string constant and UuidInterface namespace arguments
- Uuid::uuid5 rejects arbitrary non-UUID namespace strings and 16-byte raw binary with InvalidUuidStringException
- RFC 4122 requires concatenating 16 binary network bytes of namespace with name, differing completely from naive sha1 string concatenation
- Uuid::uuid3 generates MD5-based UUIDv3 with version nibble 3, distinct from SHA-1 UUIDv5 for the identical namespace and name
- Name-based UUIDs reject time-based getDateTime() calls with UnsupportedOperationException
Файлы
- NOTES.md
- composer.json
- composer.lock
- csx.json
- test/contract.php
Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт
Исходный сидер
Квитанции проверки
- php 8 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · composer@1 · 2026-08-16 · ed25519:d91480838ac982c9