id_generator 1.0.2 copy "id_generator: ^1.0.2" to clipboard
id_generator: ^1.0.2 copied to clipboard

A comprehensive Dart library for generating secure, customizable random IDs with support for numeric, alphabetic, special characters, and mixed combinations.

example/example.dart

import 'package:id_generator/id_generator.dart';

/// Example demonstrating the ID Generator package capabilities.
///
/// This example shows how to use all the different ID generation methods
/// available in the id_generator package.
void main() {
  print('🎯 ID Generator Example\n');

  // πŸ”’ Numeric ID Examples
  print('πŸ“Š Numeric IDs:');
  print('Single numeric ID (8 chars): ${IDGenerator.generateNum(8)}');
  print('Multiple numeric IDs: ${IDGenerator.listOfNums(3, 6)}');
  print('');

  // πŸ”€ Alphabetic ID Examples
  print('πŸ”€ Alphabetic IDs:');
  print('Single alphabetic ID (10 chars): ${IDGenerator.generateAlpha(10)}');
  print('Multiple alphabetic IDs: ${IDGenerator.listOfAlpha(2, 8)}');
  print('');

  // πŸ”£ Special Character ID Examples
  print('πŸ”£ Special Character IDs:');
  print('Single special ID (6 chars): ${IDGenerator.generateSpecial(6)}');
  print('Multiple special IDs: ${IDGenerator.listOfSpecial(2, 4)}');
  print('');

  // 🎭 Mixed ID Examples (Most Secure)
  print('🎭 Mixed IDs (All Character Types):');
  print('Single mixed ID (12 chars): ${IDGenerator.mix(12)}');
  print('Multiple mixed IDs: ${IDGenerator.listOfMix(3, 8)}');
  print('');

  // 🎯 Custom Mix Examples
  print('🎯 Custom Character Combinations:');

  // Only numbers and letters (no special chars) - good for user-friendly IDs
  print(
    'Numbers + Letters only: ${IDGenerator.customMix(10, [IdgEnum.nums, IdgEnum.alpha])}',
  );

  // Only special chars and numbers - good for secure tokens
  print(
    'Special + Numbers only: ${IDGenerator.customMix(8, [IdgEnum.special, IdgEnum.nums])}',
  );

  // Only alphabetic - good for readable codes
  print('Alphabetic only: ${IDGenerator.customMix(12, [IdgEnum.alpha])}');

  // Multiple custom IDs
  print(
    'Multiple custom IDs: ${IDGenerator.listOfCustomMix(3, 6, [IdgEnum.nums, IdgEnum.alpha])}',
  );
  print('');

  // πŸš€ Use Case Examples
  print('πŸš€ Common Use Cases:');
  print('Session ID: ${IDGenerator.mix(16)}');
  print('API Key: ${IDGenerator.mix(32)}');
  print('File Name: file_${IDGenerator.generateAlpha(8)}.txt');
  print(
    'User Code: ${IDGenerator.customMix(6, [IdgEnum.nums, IdgEnum.alpha]).toUpperCase()}',
  );
  print('Database ID: ${IDGenerator.generateNum(10)}');
  print('Temporary Password: ${IDGenerator.mix(12)}');
  print('');

  // πŸ“ˆ Performance Example
  print('πŸ“ˆ Batch Generation Performance:');
  final stopwatch = Stopwatch()..start();
  final batchIds = IDGenerator.listOfMix(100, 16);
  stopwatch.stop();
  print(
    'Generated 100 mixed IDs (16 chars each) in ${stopwatch.elapsedMicroseconds}ΞΌs',
  );
  print('First 5 IDs: ${batchIds.take(5).toList()}');
  print('');

  // πŸ”’ Security Features
  print('πŸ”’ Security Features:');
  print('βœ… Cryptographically secure random generation');
  print('βœ… High entropy output (71 possible characters for mixed IDs)');
  print('βœ… No predictable patterns');
  print('βœ… Suitable for security-sensitive applications');
  print('');

  // πŸ“Š Character Set Information
  print('πŸ“Š Character Sets:');
  print('Numeric: 1-9 (9 characters) - excludes 0 for clarity');
  print('Alphabetic: a-z, A-Z (52 characters) - mixed case');
  print('Special: - _ ! @ # \$ % ^ & * (10 characters) - URL safe');
  print('Mixed: All combined (71 characters) - maximum entropy');
}
1
likes
160
points
169
downloads

Publisher

verified publishermomaher.dev

Weekly Downloads

A comprehensive Dart library for generating secure, customizable random IDs with support for numeric, alphabetic, special characters, and mixed combinations.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

More

Packages that depend on id_generator