Posted at

Dartでランダムな文字列を生成する

mathパッケージのRandomクラスを使えばよい。

import 'dart:math';

String randomString(int length) {
const _randomChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
const _charsLength = _randomChars.length;

final rand = new Random();
final codeUnits = new List.generate(
length,
(index) {
final n = rand.nextInt(_charsLength);
return _randomChars.codeUnitAt(n);
},
);
return new String.fromCharCodes(codeUnits);
}

void main() {
print(randomString(10));
}

なお、暗号論的に安全な乱数を使いたい場合は new Random.secure() を使う。