RRRRRRRR-RRRR-4RRR-rRRR-RRRRRRRRRRRR
r のところが 8,9,a,b になってればヨシ
<? function uuid4(): string { $hex = bin2hex(random_bytes(16)); // 32文字の16進文字列を作る $hex[12] = '4'; // 12文字目を 4 に $hex[16] = '89ab'[rand(0, 3)]; // 16文字目を 8,9,a,b のどれかに // いい感じに整形して返す return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split($hex, 4)); } for($i=0; $i<5; $i++) echo uuid4()."\n";
75870eaa-a6ca-4dec-adf4-33045bfc2ab3 ae5e869b-9927-45fc-9085-e6ff889df5bd 8ccd1f6f-db39-42dc-9502-c5785e349f11 0adffcfc-1b3c-4876-a91e-8b00c6fc439b 09bace80-ff8f-465c-8b56-958372466a4d
やったぜ
ja.wikipedia.org