Hello,
This is the PureBasic variant of UniqueID. (But a little bit better

It produce unique, unambiguous IDs for some uses.
In example... working with databases, spritelists, etc...
The function:
Code: Select all
Procedure.s CreateUniqueID(MaxLetters.l)
If MaxLetters.l<=32 and MaxLetters.l>0
PreID.s=Str(GetTickCount_())+Str(Random(99999))
MD5String.s=MD5Fingerprint(@PreID.s, Len(PreID.s))
UniqueID.s=Mid(MD5String.s,Random(32)-MaxLetters.l,MaxLetters.l)
ProcedureReturn UniqueID.s
Else
ProcedureReturn "0"
EndIf
EndProcedure
Code: Select all
Debug CreateUniqueID(8)
Debug CreateUniqueID(10)
Debug CreateUniqueID(12)