Subversion Repositories uuid_mac_utils

Rev

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 &amp; MAC Utils by Daniel Marschall</title>
8
</head>
9
 
10
<body>
11
 
25 daniel-mar 12
<h1>UUID &amp; 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 &#x1F3B2;</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 &#11088</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>