在 Java 中生成密碼
現在幾乎所有網站都需要生成臨時密碼。如果使用者忘記了密碼,系統會根據公司的密碼策略生成一個隨機密碼。以下示例生成了符合以下條件的隨機密碼 -
它應該至少包含一個大寫字母。
它應該至少包含一個小寫字母。
它應該至少包含一個數字。
長度應該是 8 個字元。
它應該包含以下特殊字元之一:@、$、#、!。
示例
import java.util.Random;
public class Tester{
public static void main(String[] args) {
System.out.println(generatePassword(8));
}
private static char[] generatePassword(int length) {
String capitalCaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String lowerCaseLetters = "abcdefghijklmnopqrstuvwxyz";
String specialCharacters = "!@#$";
String numbers = "1234567890";
String combinedChars = capitalCaseLetters + lowerCaseLetters + specialCharacters + numbers;
Random random = new Random();
char[] password = new char[length];
password[0] = lowerCaseLetters.charAt(random.nextInt(lowerCaseLetters.length()));
password[1] = capitalCaseLetters.charAt(random.nextInt(capitalCaseLetters.length()));
password[2] = specialCharacters.charAt(random.nextInt(specialCharacters.length()));
password[3] = numbers.charAt(random.nextInt(numbers.length()));
for(int i = 4; i< length ; i++) {
password[i] = combinedChars.charAt(random.nextInt(combinedChars.length()));
}
return password;
}
}輸出
cF#0KYbY
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP