在Dart或Flutter中生成随机字符串的例子

971 阅读1分钟

随机发生器用于为每次调用生成一个唯一的值。这谈到了生成随机字符串的多种方法.

Dart/Flutter随机字符串生成示例

这个例子生成了一个带值的随机字符串。

以下是要遵循的步骤:

  • 首先,创建一个由字母和特殊字符组成的恒定字符阵列。
  • 找到从零到字符数组长度之间的随机数
  • 使用Iterable.generate() 方法创建一个List 的随机Unicode数字
  • 使用String.fromCharCodes() 方法从一个列表中生成一个字符串

下面是一个程序代码的例子

import 'dart:math';

void main() async {
  print(getRandomString(10)); //ynAIrUMKfk
  print(getRandomString(10)); //YEgY-EI?Ss
  print(getRandomString(10)); //CxjjeIIRAn
}

String getRandomString(int length) {
  const characters =
      '+-*=?AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz';
  Random random = Random();
  return String.fromCharCodes(Iterable.generate(
      length, (_) => characters.codeUnitAt(random.nextInt(characters.length))));
}

Dart随机Base64编码的字符串生成示例

dart:convert 提供转换工具,如 类。base64UrlEncode

Random.secure() 从平台操作系统生成加密的安全随机数。使用 方法创建一个整数列表 使用 将列表转换为编码的字节字符串。generate base64UrlEncode

下面是一个例子程序

import 'dart:math';
import 'dart:convert';

void main() async {

  print(getBase64RandomString(20)); //NEteMh73f6VtQMbypjdyCh69nLM=
  print(getBase64RandomString(20)); //nsrv3EJf8sqt6C4bsAeO0T-ro-A=
}
String getBase64RandomString(int length) {
  var random = Random.secure();
  var values = List.generate(length, (i) => random.nextInt(255));
  return base64UrlEncode(values);
}

总结

综上所述,通过一个例子了解如何在dart中生成一个随机字符串。