public class RandomStringGenerator {
// 랜덤 문자열에 들어갈 요소들
// 영어 대소문자, 숫자, 특수문자 포함
private static final String CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+";
public static String generateRandomString(int length) {
StringBuilder sb = new StringBuilder();
SecureRandom secureRandom = new SecureRandom();
// 1. 랜덤한 index를 추출하여
// 2. 해당 값을 StringBuilder에 append
for (int i = 0; i < length; i++) {
int randomIndex = secureRandom.nextInt(CHARACTERS.length());
char randomChar = CHARACTERS.charAt(randomIndex);
sb.append(randomChar);
}
return sb.toString();
}
}
- static 메소드로 선언하여서 새로운 객체 생성없이 불러오는것이 가능하다.
String randomString = RandomStringGenerator.generateRandomString(8);