ACT Services: Difference between revisions

TimmSkiller (talk | contribs)
TimmSkiller (talk | contribs)
No edit summary
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 =