[译]Dart生成随机ASCII字符串的简单库random_string

145 阅读1分钟

原文:random_string | Dart Package (flutter-io.cn)

译时版本:2.3.1

该库至今已经17个月没有更新了,不知道是已经成熟完善了,还是作者已经不再维护了。

random_string

生成随机 ASCII 字符串的简单库。

设计目标和限制

为了方便,该库提供了 randomBetween 函数,正如其名,该库的设计目标是用于生成随机的 ASCII 字符串,特别是用于测试和加密无关的目的。

话虽如此,如果你的需求不在这些目标或限制以外,需要考虑另外的随机数据生成的替代方案。

用法

一个简单用法示例:

import 'package:random_string/random_string.dart';
import 'dart:math' show Random;

main() {
  print(randomBetween(10, 20)); // 一些10和20之间的整数,大小关系为 0 <= 最小值 <= 最大值 <= 999999999999999
  print(randomNumeric(4)); // 4位的随机数序列 例,3259
  print(randomString(10)); // 10位的随机字符 例,e~f93(4l-
  print(randomAlpha(5)); // 随机的5位字母字符 例, aRztC
  print(randomAlphaNumeric(10)); // 随机的10位字母和数字 例,aRztC1y32B

  var r = Random.secure();
  print(randomBetween(10, 20, provider: CoreRandomProvider.from(r))); // 可以使用 Random 的 Provider 。
  print(randomBetween(10, 20, provider: _Provider())); // 或者实现自定义的随机 Provider 。
}

class _Provider with AbstractRandomProvider {
  _Provider();
  double nextDouble() => 0.5;
}

特性和BUG

如果有特性需求或者发现BUG,可在 [issue 追踪]issue tracker 上提出。