首页 > 解决方案 > 如何在飞镖中生成随机字符串?

问题描述

我想创建一个在 dart 中生成随机字符串的函数。它应该包括混合在一起的字母和数字。我怎样才能做到这一点?

标签: dart

解决方案


或者,如果您不想使用包,则可以进行简单的实现,例如:

import 'dart:math';

void main() {
  print(getRandomString(5));  // 5GKjb
  print(getRandomString(10)); // LZrJOTBNGA
  print(getRandomString(15)); // PqokAO1BQBHyJVK
}

const _chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890';
Random _rnd = Random();

String getRandomString(int length) => String.fromCharCodes(Iterable.generate(
    length, (_) => _chars.codeUnitAt(_rnd.nextInt(_chars.length))));

我应该补充一点,您不应该使用此代码来生成密码或其他类型的秘密。如果你这样做,请至少使用Random.secure()来创建随机生成器。


推荐阅读