2013-03-21 16 views
8

Scrivo websocket chat. Come generare un ID univoco per l'utente?Come generare un ID univoco in Dart

ora uso di questo codice:

id = new DateTime.now().millisecondsSinceEpoch; 

c'è qualche soluzione più pulita?

risposta

14

1. Esiste un pacchetto UUID pub:

http://pub.dartlang.org/packages/uuid

esempio di utilizzo:

// Generate a v1 (time-based) id 
uuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a' 

// Generate a v4 (random) id 
uuid.v4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1' 

// Generate a v5 (namespace-name-sha1-based) id 
uuid.v5(uuid.NAMESPACE_URL, 'www.google.com'); // -> 'c74a196f-f19d-5ea9-bffd-a2742432fc9c' 

2. Questo src ha un generatore di dardo GUID

https://github.com/MikeMitterer/AndroidIconGenerator.DART/blob/master/lib/src/model/communication/GUIDGen.dart

Non vi posterò la funzione src qui direttamente in quanto non v'è alcuna licenza evidente con esso, ma esempio di utilizzo è il seguente:

final String uuid = GUIDGen.generate(); 
+0

thx, Ho appena trovato :) – ahiipsa

+4

Solo una parola di cautela: questo non si basa su dati casuali forti. Pertanto, gli UUID generati non dovrebbero essere considerati crittograficamente forti. Che sia importante o meno, lo lascerò al lettore per decidere. –

+0

grazie, lo so, farò un ulteriore controllo sulla lista degli uuids esistenti – ahiipsa