サンプル
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