DevToys icon indicating copy to clipboard operation
DevToys copied to clipboard

UUIDv1 includes too much variation

Open JyeGuru opened this issue 3 years ago • 3 comments

Describe the bug UUIDv1 does not appear to be generating correctly

To Reproduce Steps to reproduce the behavior:

  • Open app
  • Select UUID tool, v1
  • Hit Generate UUID(s) multiple times

Expected behavior Output to show consistent data in the later segments of the generated UUID

Screenshots image image

Configuration (please complete the following information):

  • Win10 21H1 19043.1387
  • Theme: System (Dark)
  • Version 1.0.0.0 | X64 | RELEASE | ef783c8 | ef783c8

Additional context https://www.sohamkamani.com/uuid-versions-explained/ https://www.uuidgenerator.net/version1

JyeGuru avatar Jan 20 '22 06:01 JyeGuru

Hello,

Thanks for sharing this. I will try to take a look at it sometime. :)

veler avatar Jan 20 '22 06:01 veler

@JyeGuru @veler I'm not sure if this is necessarily bug, but rather a different variant of the UUIDv1. Per RFC4122, these UUID's typically use the system's MAC address for a portion of the UUID, however random/pseudo-random numbers can be used if you do not want the UUID to identify the system the UUID was generated on. (See section 4.5 of the RFC)

deathpax avatar Jan 20 '22 22:01 deathpax

My interpretation of RFC4122 4.5 would be that the Node ID would be a consistent randomly-sourced identifier, if not using the hardware ID. In cases such as the linked sites above, they do not generate UUIDv1 values that use the system MAC (as I don't believe that is even available for the browser to use), but they are still internally consistent each time the page is loaded, and sometimes between loads - potentially using some other browser-available data to generate a reasonably consistent Node ID from a hash as mentioned at the end of section 4.5.

If not permanently consistent (using some hashed system ID values) on a given machine, I would at least have expected that the UUIDv1 values generated within a single instance of the tool to have a consistent Node ID.

JyeGuru avatar Jan 21 '22 01:01 JyeGuru