Firebase Push ID

Eine Firebase Push ID ist ein 20 Zeichen langer Identifikator, der 120 Bits an Information enthält, dezentral generiert werden kann und (nahezu) garantiert eindeutig ist. Eine Implementierung in JavaScript findet man hier: https://gist.github.com/mikelehen/3596a30bd69384624c11

Diese UID ist alphabetisch nach dem Erstellungszeitpunkt sortierbar. Sie besteht aus einem 48 Bit langen Zeitstempel (8 Zeichen, Millisekunden seit 1970-01-01) gefolgt von einer 72 Bit langen Zufallszahl (12 Zeichen). Sollten mehrere UIDs auf der selben Maschine in der selben Millisekunde erzeugt werden, kann die Zufallszahl inkrementiert werden, um die Sortierreihenfolge beizubehalten.
Der Binärwert wird dabei base64 codiert, mit einem web-sicheren, nach ASCII-Werten sortierten Alphabet:

-0123456789ABCDEFGHIJKLMNOPQRSTU
VWXYZ_abcdefghijklmnopqrstuvwxyz