2013-03-21 209 views
8

我寫websocket聊天。 如何爲用戶生成唯一的ID?如何在Dart中生成唯一的ID

現在我用這個代碼:

id = new DateTime.now().millisecondsSinceEpoch; 

有沒有更巧妙的解決辦法?

回答

14

1.有一個UUID酒館包:

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

示例用法:

// 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.這SRC具有鏢GUID發生器

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

我不會在這裏直接發佈功能SRC因爲有與它沒有明顯的許可證,但用法示例如下:

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

THX,我只是覺得:) – ahiipsa 2013-03-21 14:13:18

+4

只是一個忠告:這不依賴於強大的隨機數據。因此,生成的UUID不應被視爲密碼強。無論是否重要,我都會讓讀者去決定。 – 2013-03-21 21:12:38

+0

謝謝,我知道,我會額外檢查現有的uuids列表 – ahiipsa 2013-03-22 07:01:54