generateTemporaryPassword static method
String
generateTemporaryPassword(
- int length
)
Implementation
static String generateTemporaryPassword(int length) {
const String lowercaseLetters = 'abcdefghijklmnopqrstuvwxyz';
const String uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const String numbers = '0123456789';
const String specialChars = '@#\$%^&*()-_=+';
// Ensure the password length is at least 8 characters
final int minLength = length < 8 ? 8 : length;
// Create a list to hold the password characters
final List<String> passwordChars = [];
// Randomly select at least one character from each character set
final Random random = Random();
passwordChars.add(lowercaseLetters[random.nextInt(lowercaseLetters.length)]);
passwordChars.add(uppercaseLetters[random.nextInt(uppercaseLetters.length)]);
passwordChars.add(numbers[random.nextInt(numbers.length)]);
passwordChars.add(specialChars[random.nextInt(specialChars.length)]);
// Fill the rest of the password length with random characters from all sets
const String allChars = lowercaseLetters + uppercaseLetters + numbers + specialChars;
while (passwordChars.length < minLength) {
passwordChars.add(allChars[random.nextInt(allChars.length)]);
}
// Shuffle the characters to ensure randomness
passwordChars.shuffle();
// Join the characters to form the password string and return
return passwordChars.join();
}