For simple verification without an extra field
var guidStr = Guid.Parse("890a1537-212f-4366-8d1d-95075b9245c4").ToString(); guidStr.Aggregate(0, (acc, x) => (acc + x * 1354) % 10000).ToString().PadLeft(4, '0'); // Results in: 7560 // Where 1354 can be changed per case // And 10000 and PadLeft 4 to e.g. 100000 and 5 for codes with a length of 5 guidStr.Aggregate(0, (acc, x) => (acc + x * 1354) % 100000).ToString().PadLeft(5, '0'); // Results in: 97560 // Test some codes for(int i=0;i<100;i++) { Console.WriteLine(Guid.NewGuid().ToString().Aggregate(0, (acc, x) => (acc + x * 1351) % 100000).ToString().PadLeft(5, '0') ); } // Examples: 05923 00545 19459 34294 92361 41127 80150 23434 82904 11353 55910 42374 55962 38321 09976 45128 45154 62639 51883 62665 19537 23538 26110 26136 54559 08625
464010cookie-checkGenerate static Pincode From Guid