ឧបករណ៍បង្កើត UUID / GUID

បង្កើត UUID ជា v1, v4 ឬ v5 — ជាបណ្តុំ មានទ្រង់ទ្រាយ ព្រមទាំង prefix/suffix ជាជម្រើស។

ឯកសារយោងកំណែ


v4 — ចៃដន្យ

UUID កំណែ 4 ត្រូវបានបង្កើតទាំងស្រុងពី bytes ចៃដន្យ (ឬពាក់កណ្តាលចៃដន្យ)។ 122 នៃ 128 bits គឺចៃដន្យ ចំណែក 6 bits ដែលនៅសល់សម្គាល់កំណែ (4) និងវ៉ារ្យ៉ង់។ ដោយសារវាមិនផ្ទុកព័ត៌មានមានរចនាសម្ព័ន្ធ UUID v4 ជាជម្រើសសាមញ្ញបំផុត៖ វាមិនត្រូវការស្ថានភាពរួម មិនត្រូវការនាឡិកាបណ្តាញ ហើយមិនត្រូវការសម្របសម្រួល namespace ឡើយ។ ប្រូបាប៊ីលីតេនៃការបង្កើតលេខស្ទួនគឺទាបយ៉ាងខ្លាំង។ ប្រើ v4 ជាលំនាំដើមសម្រាប់ primary keys នៃមូលដ្ឋានទិន្នន័យ, session tokens និងបរិបទណាដែលទាមទារភាពមានតែមួយ ប៉ុន្តែមិនត្រូវការតម្រៀបតាមពេលវេលា។

Wikipedia — UUID Version 4 (random)

v1 — ផ្អែកលើពេលវេលា

UUID កំណែ 1 បង្កប់ timestamp 60-bit (ចន្លោះ 100-nanosecond ចាប់ពីថ្ងៃទី 15 ខែតុលា ឆ្នាំ 1582 ដែលជាកាលបរិច្ឆេទកែទម្រង់ប្រតិទិន Gregorian), clock sequence 14-bit និង node identifier 48-bit (ជាប្រវត្តិសាស្ត្រ គឺជាអាសយដ្ឋាន MAC របស់ម៉ាស៊ីនបង្កើត)។ ដោយសារ timestamp ជាធាតុសំខាន់បំផុត UUID v1 តម្រៀបតាមលំដាប់ពេលវេលានៅពេលប្រៀបធៀបតាមលក្ខណៈ lexicographical — ជាលក្ខណៈមានប្រយោជន៍សម្រាប់ index មូលដ្ឋានទិន្នន័យបែប clustered។ ការដោះដូរគឺភាពឯកជន៖ UUID v1 លាតត្រដាងអាសយដ្ឋាន MAC របស់ម៉ាស៊ីន និងពេលបង្កើតជាក់លាក់។ ការអនុវត្តទំនើបជំនួស node ដោយចៃដន្យ ដើម្បីជៀសវាងការលាតត្រដាងនោះ។

Wikipedia — UUID Version 1 (time-based)

v5 — Namespace + ឈ្មោះ (SHA-1)

UUID កំណែ 5 គឺជាកំណត់ (deterministic)៖ ជាមួយ namespace UUID ដូចគ្នា និងខ្សែឈ្មោះដូចគ្នា លទ្ធផលតែងតែដូចគ្នា។ ក្បួនដំណើរការភ្ជាប់ bytes នៃ namespace ជាមួយឈ្មោះដែលបំលែងជា UTF-8 ធ្វើ hash ដោយ SHA-1 រួចបត់ digest 160-bit ចូលទៅ 128 bits (កំណត់ version bits ទៅ 5 និងវ៉ារ្យ៉ង់ RFC 4122)។ វាធ្វើឲ្យ v5 ល្អសម្រាប់បង្កើតឧបករណ៍សម្គាល់ស្ថិរភាព និងអាចផលិតឡើងវិញបាន — ឧទាហរណ៍ ការផ្គូផ្គង URL ទៅ UUID ដែលមិនផ្លាស់ប្តូរ ឬបំលែង key ជាខ្សែអក្សរបុរាណទៅ UUID ដោយមិនចាំបាច់តារាងស្វែងរក។ v3 ប្រើ MD5 ជំនួស; v5 ត្រូវបានពេញនិយមជាង ព្រោះ SHA-1 បង្កើតការប៉ះទង្គិច (collisions) តិចជាង។

Wikipedia — UUID Version 5 (name-based)