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 = |