2013-03-21 49 views
8

Tôi viết trò chuyện trên websocket. Cách tạo id duy nhất cho người dùng?Cách tạo id duy nhất trong Dart

bây giờ tôi sử dụng mã này:

id = new DateTime.now().millisecondsSinceEpoch; 

là có bất kỳ giải pháp gọn gàng hơn?

Trả lời

14

1. Có một gói UUID quán rượu:

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

ví dụ sử dụng:

// 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 này có một máy phát điện phi tiêu GUID

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

tôi không sẽ đăng các chức năng src đây trực tiếp như không có giấy phép rõ ràng với nó, nhưng ví dụ sử dụng như sau:

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

thx, tôi chỉ tìm thấy nó :) – ahiipsa

+4

Chỉ cần một lời cảnh cáo: điều này không dựa vào dữ liệu ngẫu nhiên mạnh mẽ. Do đó, UUID được tạo nên không được coi là mạnh mẽ về mặt mã hóa. Cho dù nó có quan trọng hay không, tôi sẽ để nó cho người đọc quyết định. –

+0

cảm ơn, tôi biết, tôi sẽ kiểm tra thêm danh sách các uuids hiện có – ahiipsa

Các vấn đề liên quan