generateRandomString function

String generateRandomString(
  1. int length, {
  2. bool containsNumbers = true,
  3. bool containsSpecialChars = false,
})

生成随机字符串 length 字符串长度 containsNumbers 是否包含数字 containsSpecialChars 是否包含特殊字符

Implementation

String generateRandomString(
  int length, {
  bool containsNumbers = true,
  bool containsSpecialChars = false,
}) {
  final random = Random();
  final String letterChars =
      'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz';
  final String numberChars = containsNumbers ? '1234567890' : '';
  final String specialChars =
      containsSpecialChars ? '!@#\$%^&*()_+-=[]{}|;:,.<>?~' : '';

  final allChars = '$letterChars$numberChars$specialChars';
  final randomString =
      List.generate(
        length,
        (index) => allChars[random.nextInt(allChars.length)],
      ).join();

  return randomString;
}