uuid 4.6.0
uuid: ^4.6.0 copied to clipboard
RFC4122 (v1, v4, v5, v6, v7, v8) UUID Generator and Parser for Dart
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