Generierung von Guids in Ruby

Problem habe ich, die ist wirklich sehr gut gelöst mit Guids.

Insbesondere für einen Passwort-reset-workflow, ich würde Sie gerne eine Guid-token eines Benutzers E-Mail und haben Sie Ihr Kennwort zurückzusetzen, verwenden Sie die token. Da guids eindeutig sind, ist ziemlich sicher und erspart mir E-Mail an Personen die Passwörter, das ist riskant.

Bemerkte ich, es ist eine Guid gem für Ruby, aber es sieht schon ziemlich alt, und es schreibt Zeug auf das Dateisystem.

Kennt jemand eine andere Edelsteine, die erstellen kann ein globally unique identifier?

Ich weiß, ich kann nur zurückgreifen auf:

(0..16).to_a.map{|a| rand(16).to_s(16)}.join 

Aber es scheint nicht wirklich wie eine richtige GUID ...

Mit einer zufälligen Zeichenfolge, wie, dass wäre nicht ganz richtig; bestimmte bits in der UUID angeben, Variante und version. Für eine zufällige UUID, möchten Sie wahrscheinlich Variante 2 (RFC 4122) und die version 4, in dem Fall 6 bestimmte bits gesetzt werden muss, um die richtigen Werte haben.
Ja @dafrazzman richtig ist. Zufällig zusammensetzen, dass etwas "gleicht einer UUID" die Eindeutigkeit nicht garantiert. Während keine UUID wirklich gewährleistet, Gebäude mit Zufallszahlen ist WEIT mehr anfällig für Kollisionen und konnte nicht würdig sein, von der Bezeichnung "UUID". Auf jeden Fall gehen Sie mit SecureRandom.uuid!

InformationsquelleAutor Sam Saffron | 2009-07-13

Schreibe einen Kommentar