随机发生器用于为每次调用生成一个唯一的值。这谈到了生成随机字符串的多种方法.
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中生成一个随机字符串。