Line 205:
Line 205:
All UUIDs generated by the service are [https://www.rfc-editor.org/rfc/rfc9562.html#name-uuid-version-1 RFC9562 Version 1 UUIDs].
All UUIDs generated by the service are [https://www.rfc-editor.org/rfc/rfc9562.html#name-uuid-version-1 RFC9562 Version 1 UUIDs].
+
+
== UUID Types ==
+
=== Regular UUIDs ===
+
These are just standard [https://www.rfc-editor.org/rfc/rfc9562.html#name-uuid-version-1 RFC9562 Version 1 UUIDs] with the above node data.
+
+
=== Title-specific UUIDs ===
+
These UUIDs are specific to the title that requested them to be generated, specifically, using the unique ID portion of the title ID of that title.
+
+
The following technique is used internally to generate these UUIDs:
+
+
- Generate or use an existing regular UUID the with the above mentioned node data (<code>regular_uuid</code>)
+
+
- <code>hash = SHA256 ( byte-swapped unique ID (thus, big endian) + 095E273A + 48-bit node data from regular_uuid )</code>
+
+
- <code>output_uuid = regular_uuid[0:9] + hash[10] | 0x1 + hash[11:16]</code>
= Independent Service Tokens =
= Independent Service Tokens =
Line 253:
Line 268:
| 0x2 || 0x4 || Byte-Swapped value from [[AM:GetDeviceId]]
| 0x2 || 0x4 || Byte-Swapped value from [[AM:GetDeviceId]]
|}
|}
−
−
== UUID Types ==
−
=== Regular UUIDs ===
−
These are just standard [https://www.rfc-editor.org/rfc/rfc9562.html#name-uuid-version-1 RFC9562 Version 1 UUIDs] with the above node data.
−
−
=== Title-specific UUIDs ===
−
These UUIDs are specific to the title that requested them to be generated, specifically, using the unique ID portion of the title ID of that title.
−
−
The following technique is used internally to generate these UUIDs:
−
−
- Generate or use an existing regular UUID the with the above mentioned node data (<code>regular_uuid</code>)
−
−
- <code>hash = SHA256 ( byte-swapped unique ID (thus, big endian) + 095E273A + 48-bit node data from regular_uuid )</code>
−
−
- <code>output_uuid = regular_uuid[0:9] + hash[10] | 0x1 + hash[11:16]</code>
= DataBlocks =
= DataBlocks =