I am writing a licencing system for my software and wondering what are some good ways to generate stable (as in it's always going to be generated the same for that computer) and unique HWID's? It needs to be unique as I will be hardware locking licenses to this ID and do not want to run into issues with duplicate ID's locking out customers accidently.
Edit:
Ok. I understand no method will be 100 percent stable. If I were to hash some things like cpu id, memory amount, hard driver serial would these at least be stable enough to generate the same key up until the user upgrades their PC? What are some things that are not dynamically changed at any point unless an actual physical component is swapped, upgraded, etc.?