프로그램 언어/Java

Java 대소문자 영어, 숫자 포함 난수 생성

husks 2023. 2. 7. 10:53
반응형

임시 비밀번호를 생성하기 위해 10자리의 난수를 생성하는 소스 입니다.

 

대소문자의 영어와 숫자를 포함한 난수 생성 방법입니다.

 

import java.security.SecureRandom;

public class RandomNumber {

  private static final String CHAR_LOWER = "abcdefghijklmnopqrstuvwxyz";
  private static final String CHAR_UPPER = CHAR_LOWER.toUpperCase();
  private static final String NUMBER = "0123456789";

  private static final String DATA_FOR_RANDOM_STRING = CHAR_LOWER + CHAR_UPPER + NUMBER;
  private static SecureRandom random = new SecureRandom();

  public static String generateRandomString(int length) {
    StringBuilder sb = new StringBuilder(length);
    for (int i = 0; i < length; i++) {
      int rndCharAt = random.nextInt(DATA_FOR_RANDOM_STRING.length());
      char rndChar = DATA_FOR_RANDOM_STRING.charAt(rndCharAt);
      sb.append(rndChar);
    }
    return sb.toString();
  }

  public static void main(String[] args) {
    System.out.println(generateRandomString(10));
  }

}
반응형