uuid
Version 4.x.x is a complete redesign of the underlying setup, but tries to be API compatible or similar to 3.x.
Simple, fast generation of RFC4122 and RFC9562 UUIDs.
Features:
- Generate RFC4122 version 1, version 4, or version 5 UUIDs
- Supports RFC9562 version 6, version 7, and version 8
- Runs in web, server, and flutter
- Cryptographically strong random number generation on all platforms
- Validate and parse generic 128-bit hexadecimal values without enforcing UUID version or variant bits
- Documentation
Getting Started
Instructions
- Open a command line and cd to your projects root folder
- In your pubspec, add an entry for dart-uuid to your dependencies (example below)
- pub install
- If you wish to run tests, go into packages/dart-uuid/ and run 'dart test/uuid_test.dart'
Pubspec
dependencies:
uuid: ^4.6.0
import 'package:uuid/uuid.dart';
var uuid = Uuid();
Then create some ids ...
// 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'
Structural 128-bit parsing
Use the explicit format APIs when the input must be a 128-bit hexadecimal value but UUID version and variant bits should not be enforced.
const value = '019f13f5-53cb-b219-ca3e-4b569376f32b';
Uuid.isValidUUIDFormat(fromString: value); // true
Uuid.parseHex128(value); // 16 bytes
const withoutDashes = '019f13f553cbb219ca3e4b569376f32b';
Uuid.parseHex128(withoutDashes, noDashes: true); // 16 bytes
Documentation
For documentation, please visit the Documentation page. Examples are included for most functions and classes.
For more complex examples and other usages, please look at the tests.
Release notes
See CHANGELOG