Rev 29 | Rev 31 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
7 | daniel-mar | 1 | <!DOCTYPE html> |
2 | daniel-mar | 2 | <html> |
3 | |||
4 | <head> |
||
5 | <meta charset="iso-8859-1"> |
||
6 | <link rel="stylesheet" type="text/css" href="style.css"> |
||
7 | <title>UUID & MAC Utils by Daniel Marschall</title> |
||
8 | </head> |
||
9 | |||
10 | <body> |
||
11 | |||
25 | daniel-mar | 12 | <h1>UUID & MAC Utils by Daniel Marschall</h1> |
2 | daniel-mar | 13 | |
12 | daniel-mar | 14 | <!-- <p><a href="https://svn.viathinksoft.com/cgi-bin/viewvc.cgi/uuid_mac_utils/">View the source code</a></p> --> |
15 | <p><a href="https://github.com/danielmarschall/uuid_mac_utils/">View the source code</a></p> |
||
2 | daniel-mar | 16 | |
30 | daniel-mar | 17 | <h2>Generate random and/or time-based UUIDs</h2> |
2 | daniel-mar | 18 | |
30 | daniel-mar | 19 | <h3>Generate time-based (version 1) UUID</h3> |
2 | daniel-mar | 20 | |
30 | daniel-mar | 21 | <p><i>A UUIDv1 is made of the MAC address of the generating computer, |
22 | the time, and a clock sequence.</i></p> |
||
23 | |||
2 | daniel-mar | 24 | <form method="GET" action="interprete_uuid.php"> |
25 | <input type="hidden" name="version" value="1"> |
||
30 | daniel-mar | 26 | <input type="hidden" name="uuid" value="CREATE"> <input type="submit" value="Create a UUID"> |
2 | daniel-mar | 27 | </form> |
28 | |||
30 | daniel-mar | 29 | <h3>Generate random (version 4) UUID 🎲</h3> |
2 | daniel-mar | 30 | |
30 | daniel-mar | 31 | <p><i>A UUIDv4 is made of 122 random bits. No other information is encoded in this kind of UUID.</i></p> |
2 | daniel-mar | 32 | |
33 | <form method="GET" action="interprete_uuid.php"> |
||
30 | daniel-mar | 34 | <input type="hidden" name="version" value="4"> |
35 | <input type="hidden" name="uuid" value="CREATE"> <input type="submit" value="Create a UUID"> |
||
36 | </form> |
||
37 | |||
38 | <h3><font color="green">New:</font> Generate reordered time-based (version 6) UUID</h3> |
||
39 | |||
40 | <p><i>Like UUIDv1, this kind of UUID is made of the MAC address of the generating computer, |
||
41 | the time, and a clock sequence. However, the components in UUIDv6 are reordered (time is at the beginning), |
||
42 | so that UUIDs are monotonically increasing.</i></p> |
||
43 | |||
44 | <form method="GET" action="interprete_uuid.php"> |
||
45 | <input type="hidden" name="version" value="6"> |
||
46 | <input type="hidden" name="uuid" value="CREATE"> <input type="submit" value="Create a UUID"> |
||
47 | </form> |
||
48 | |||
49 | <h3><font color="green">New:</font> Generate Unix Epoch Time (version 7) UUID ⭐</h3> |
||
50 | |||
51 | <p><i>A UUIDv7 is made of time and 74 random bits. |
||
52 | Since the time is at the beginning, the UUIDs are monotonically increasing. |
||
53 | Due to the missing MAC address, this UUID version is recommended due to |
||
54 | improved privacy.</i></p> |
||
55 | |||
56 | <form method="GET" action="interprete_uuid.php"> |
||
57 | <input type="hidden" name="version" value="7"> |
||
58 | <input type="hidden" name="uuid" value="CREATE"> <input type="submit" value="Create a UUID"> |
||
59 | </form> |
||
60 | |||
61 | <h2>Generate other UUID types</h2> |
||
62 | |||
63 | <p><i>The following types of UUIDs are less common. Please only use the following |
||
64 | generators if you know what you are doing.</i></p> |
||
65 | |||
66 | <h3>NCE (variant 0) UUID</h3> |
||
67 | |||
68 | <p>The NCE UUIDs are a legacy format that cannot be generated anymore, because the |
||
69 | amount of available timestamp bits was exhausted on <strong>5 September 2015</strong>. |
||
70 | Here is an example of the last possible NCE UUID (all bits of the timestamp are set to 1): |
||
71 | <a href="interprete_uuid.php?uuid=ffffffff-ffff-0000-027f-000001000000">ffffffff-ffff-0000-027f-000001000000</a>.</p> |
||
72 | |||
73 | <h3>Generate DCE Security (version 2) UUID</h3> |
||
74 | |||
75 | <form method="GET" action="interprete_uuid.php"> |
||
2 | daniel-mar | 76 | <input type="hidden" name="version" value="2"> |
77 | Domain (8 bits): <select name="domain_choose" id="dce_domain_choice" onchange="javascript:dce_domain_choose();"> |
||
78 | <option value="uid">POSIX UID</option> |
||
79 | <option value="gid">POSIX GID</option> |
||
80 | <option value="org">Org</option> |
||
81 | <option value="site">Site-defined</option> |
||
82 | </select> <input type="text" name="dce_domain" value="" id="dce_domain" style="width:50px"> (decimal notation)<br> |
||
30 | daniel-mar | 83 | Value (32 bits): <input type="text" name="dce_id" value="0" id="dce_id" style="width:200px"> (decimal notation)<br> |
84 | <font color="red">Warning</font>: The timestamp has an accuracy of approx. 7 minutes, |
||
85 | therefore the uniqueness of these UUIDs is not guaranteed!<br><br> |
||
2 | daniel-mar | 86 | <input type="hidden" name="uuid" value="CREATE"> <input type="submit" value="Create UUID"> |
87 | </form> |
||
88 | <script> |
||
89 | function dce_domain_choose() { |
||
90 | var ns = document.getElementById('dce_domain_choice').value; |
||
91 | if (ns == "uid") { |
||
92 | document.getElementById('dce_domain').value = "0"; |
||
93 | } |
||
94 | if (ns == "gid") { |
||
95 | document.getElementById('dce_domain').value = "1"; |
||
96 | } |
||
97 | if (ns == "org") { |
||
98 | document.getElementById('dce_domain').value = "2"; |
||
99 | } |
||
100 | if (ns == "site") { |
||
101 | document.getElementById('dce_domain').value = ""; |
||
102 | } |
||
103 | } |
||
104 | dce_domain_choose(); |
||
105 | </script> |
||
106 | |||
30 | daniel-mar | 107 | <h3>Generate name-based (version 3/5) UUID</h3> |
2 | daniel-mar | 108 | |
109 | <form method="GET" action="interprete_uuid.php"> |
||
110 | Hash: <select name="version"> |
||
111 | <option value="3">MD5 (version 3 UUID)</option> |
||
112 | <option value="5">SHA1 (version 5 UUID)</option> |
||
113 | </select><br> |
||
114 | Namespace: <select name="namespace_choose" id="nb_nsc" onchange="javascript:nb_ns_choose();"> |
||
115 | <option value="dns">DNS</option> |
||
116 | <option value="url">URL</option> |
||
117 | <option value="oid">OID</option> |
||
118 | <option value="x500">X.500 DN</option> |
||
26 | daniel-mar | 119 | <option value="oidplus_ns">OIDplus ns only</option> |
120 | <option value="oidplus_ns_val">OIDplus ns+val</option> |
||
28 | daniel-mar | 121 | <!-- <option value="oidplus_pubkey">OIDplus pubkey</option> --> |
2 | daniel-mar | 122 | <option value="other">Other</option> |
123 | </select> <input type="text" name="nb_ns" value="" id="nb_ns" style="width:300px"><br> |
||
30 | daniel-mar | 124 | Value: <input type="text" name="nb_val" value="" id="nb_val" style="width:300px"><br> |
125 | <font color="red">Warning</font>: These UUIDs do not contain a timestamp, |
||
126 | therefore the uniqueness of these UUIDs is not guaranteed!<br><br> |
||
2 | daniel-mar | 127 | <input type="hidden" name="uuid" value="CREATE"> <input type="submit" value="Create UUID"> |
128 | </form> |
||
129 | <script> |
||
130 | function nb_ns_choose() { |
||
131 | var ns = document.getElementById('nb_nsc').value; |
||
132 | if (ns == "dns") { |
||
133 | document.getElementById('nb_ns').value = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; |
||
134 | document.getElementById('nb_val').value = "www.example.org"; |
||
135 | } |
||
136 | if (ns == "url") { |
||
137 | document.getElementById('nb_ns').value = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; |
||
138 | document.getElementById('nb_val').value = "http://www.example.org/"; |
||
139 | } |
||
140 | if (ns == "oid") { |
||
141 | document.getElementById('nb_ns').value = "6ba7b812-9dad-11d1-80b4-00c04fd430c8"; |
||
142 | document.getElementById('nb_val').value = "2.999"; |
||
143 | } |
||
144 | if (ns == "x500") { |
||
145 | document.getElementById('nb_ns').value = "6ba7b814-9dad-11d1-80b4-00c04fd430c8"; |
||
146 | document.getElementById('nb_val').value = "UID=jsmith,DC=example,DC=net"; |
||
147 | } |
||
148 | if (ns == "oidplus_ns") { |
||
149 | document.getElementById('nb_ns').value = "0943e3ce-4b79-11e5-b742-78e3b5fc7f22"; |
||
150 | document.getElementById('nb_val').value = "ipv4"; |
||
151 | } |
||
152 | if (ns == "oidplus_ns_val") { |
||
153 | document.getElementById('nb_ns').value = "ad1654e6-7e15-11e4-9ef6-78e3b5fc7f22"; |
||
154 | document.getElementById('nb_val').value = "ipv4:8.8.8.8"; |
||
155 | } |
||
28 | daniel-mar | 156 | /* |
157 | if (ns == "oidplus_ns_pubkey") { |
||
158 | document.getElementById('nb_ns').value = "fd16965c-8bab-11ed-8744-3c4a92df8582"; |
||
159 | document.getElementById('nb_val').value = "..........................."; |
||
160 | } |
||
161 | */ |
||
2 | daniel-mar | 162 | if (ns == "other") { |
163 | document.getElementById('nb_ns').value = ""; |
||
164 | document.getElementById('nb_val').value = ""; |
||
165 | } |
||
166 | } |
||
167 | nb_ns_choose(); |
||
168 | </script> |
||
169 | |||
30 | daniel-mar | 170 | <h2>Interpret a UUID</h2> |
2 | daniel-mar | 171 | |
30 | daniel-mar | 172 | <p>You can enter a UUID in the following notations:</p> |
2 | daniel-mar | 173 | |
174 | <ul> |
||
175 | <li>Classic notation (case insensitive, curly braces optional): <code>9e83839a-5967-11e4-8c1c-78e3b5fc7f22</code></li> |
||
176 | <li>As OID: <code>2.25.210700883446948645633376489934419689250</code></li> |
||
177 | </ul> |
||
178 | |||
179 | <p>The script will output:</p> |
||
180 | |||
181 | <ul> |
||
182 | <li>Notation as UUID and OID</li> |
||
30 | daniel-mar | 183 | <li>Version, variant, and additional data (date and time, clock seq, node id, etc.)</li> |
2 | daniel-mar | 184 | </ul> |
185 | |||
30 | daniel-mar | 186 | <p>Please enter a UUID or UUID OID:</p> |
2 | daniel-mar | 187 | |
188 | <form method="GET" action="interprete_uuid.php"> |
||
189 | <input type="text" name="uuid" value="" style="width:500px"> <input type="submit" value="Go"> |
||
190 | </form> |
||
191 | |||
30 | daniel-mar | 192 | <h2>Interpret a MAC address (<abbr title="Media Access Control">MAC</abbr> / |
26 | daniel-mar | 193 | <abbr title="Extended Unique Identifier">EUI</abbr> / |
194 | <abbr title="Extended Local Identifier">ELI</abbr> / |
||
195 | <abbr title="Standard Assigned Identifier">SAI</abbr> / |
||
196 | <abbr title="Administratively Assigned Identifier">AAI</abbr>)</h2> |
||
2 | daniel-mar | 197 | |
30 | daniel-mar | 198 | <p>You can enter a UUID in the following notations:</p> |
2 | daniel-mar | 199 | |
200 | <ul> |
||
201 | <li><code>AA-BB-CC-DD-EE-FF</code></li> |
||
202 | <li><code>AA:BB:CC:DD:EE:FF</code></li> |
||
203 | <li><code>AABBCC.DDEEFF</code> (case insensitive)</li> |
||
16 | daniel-mar | 204 | <li><code>AA-BB-CC-DD-EE-FF-11-22</code> (EUI-64)</li> |
205 | <li><code>AA:BB:CC:DD:EE:FF-11-22</code> (EUI-64)</li> |
||
206 | <li><code>fe80::1322:33ff:fe44:5566</code> (IPv6 Link Local / EUI-64)</li> |
||
2 | daniel-mar | 207 | </ul> |
208 | |||
209 | <p>The script will output:</p> |
||
210 | |||
211 | <ul> |
||
212 | <li>Information about the I/G and U/L flags.</li> |
||
213 | <li>Information about the entry in the IEEE registry, if available.</li> |
||
214 | <li>Information about the registrant, if available.</li> |
||
215 | </ul> |
||
216 | |||
29 | daniel-mar | 217 | <p>Please enter a MAC (EUI, ELI, SAI, AAI), or IPv6-Link-Local address:</p> |
2 | daniel-mar | 218 | |
219 | <form method="GET" action="interprete_mac.php"> |
||
30 | daniel-mar | 220 | <input type="text" name="mac" value="" style="width:250px"> <input type="submit" value="Go"> |
2 | daniel-mar | 221 | </form> |
222 | |||
22 | daniel-mar | 223 | <br><br><br> |
224 | |||
2 | daniel-mar | 225 | </body> |
226 | |||
227 | </html> |