用 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

更新日期:2020 年 6 月 21 日

12K+ 瀏覽

啟動你的 職業生涯

完成課程獲取認證

開始學習
廣告