Hardware Identifiers

This has been mentioned in other threads (e.g. How can I get a Persistent Unique Hardware ID? - Questions & Answers - Unity Discussions) but what I am looking for is a bit different.
SystemInfo.deviceUniqueIdentifier (Unity - Scripting API: SystemInfo.deviceUniqueIdentifier) on Windows returns a hash of a few strings from the Computer System Hardware Classes as mentioned in the documentation (Computer System Hardware Classes - Win32 apps | Microsoft Learn).
What is NOT mentioned is what type of hash algorithm is used. What I am looking for is a way to replicate this Unique ID on a normal WPF app(where I also have access to System.Management which I don’t in Unity). I guess on the WPF app I will be able to get the same string values that Unity gets to create the device unique identifier but then I will need to hash them with the same algorithm to get the same unique identifier in the end.
Any idea where I can get more info on this?

Thanks!

Any luck on this one?

Without getting access to their internal code you’re going to struggle to work it out but you could probably assume that they would either have used a standard C# hashing function or written one internally that’s used by other functions.

For example, the Unity - Scripting API: Animator.StringToHash function might use the same internal calculation. Either that or it could use the standard C# String.GetHashCode Method (System) | Microsoft Learn

Actually, looking into it a bit more it looks like the unique ID is 128-bits which may be using this:

You could check if deviceUniqueIdentifier is in the part of Unity that they have open sourced, and if so just see what they are doing.