Wie erstellen Sie benutzerfreundliche eindeutige IDs, UUIDs oder andere eindeutige Bezeichner in Java

Ich in der Regel verwenden Sie die UUID-Klasse zum generieren eindeutiger IDs. Dies funktioniert gut, wenn diese IDs verwendet werden, die durch technische Systeme nur, es interessiert Sie nicht, wie lang Sie sind:

System.out.println(UUID.randomUUID().toString());

> 67849f28-c0af-46c7-8421-94f0642e5d4d

Ist es eine nette Möglichkeit zum erstellen von Benutzer-freundlicher unique-IDs (wie die von tinyurl), die sind etwas kürzer als die UUIDs? Anwendungsfall: Sie möchten, senden Sie die IDs per E-Mail an Ihre Kunden, die wiederum Ihre Website zu besuchen und geben Sie diese Zahl in eine form, wie ein Gutschein-ID.

Ich gehe davon aus, dass UUIDs generiert gleichmäßig durch die ganze Bandbreite des 128-Bit-Bereich der UUID. So wäre es weiser, einfach den unteren 64 Bits zum Beispiel?

System.out.println(UUID.randomUUID().getLeastSignificantBits());

Jedes feedback ist willkommen.

  • Ist es nicht besser, wenn Ihre Benutzer können auf einen link klicken, wo die id enthalten ist-und Sie kümmern sich um die Eingabe der id im Formular-Feld oder Parameter Lesen, dann brauchen Sie sich nicht um die id, die die Benutzer-freundliche
  • Sicher, aber die id wird in print-Medien. Also um So kürzer, desto besser.
  • Für eine druckbare URLs, reduzieren die Wahrscheinlichkeit von menschlichen Fehlern, die durch Verwendung von Base32 Codierung. Ich persönlich glaube, dass die z-base-32-format ist das beste für diesen Zweck, denn es wurde speziell entwickelt, um verwendet werden, von Menschen.
  • Ich bin mir ziemlich sicher, TinyURL und andere kurz-url-Dienste nur erhalten eine Liste aller verwendeten UUIDs, und weisen Sie einen auto-increment index zu Ihnen, und verwendet die base-64-version der display-ID. So erhalten Sie URLs wie http://tinyurl.com/2 und http://bit.ly/2.
InformationsquelleAutor basZero | 2011-01-12
Schreibe einen Kommentar