Using a piece of GUID or even all of this is a very bad idea. Even if most of them are random, there is no guarantee that any particular part will be.
I'm not sure that using the GUID hash will have a lot of problems, and even better a hash that combines the GUID with some other source of randomness (for example, you can hash the program startup time and then generate an access code, returning the hash part of the previous hash and a new GUID). If there is any randomness in the GUID generation, the hash entropy should increase with each iteration. Please note that the access code should not show the entire hash value; some of them should be kept as a secret internal state.
source share