일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- IntelliJ
- cherrypick
- Subversion
- SSL
- git
- 문법
- java
- 캡슐화
- 상속
- Branch
- constructor
- terms
- commit
- syntax
- install
- svn
- TortoiseSVN
- 특징
- sourcetree
- Checkout
- Class
- 생성자
- Android
- error
- Android Studio
- gradle
- VCS
- 자바
- IntelliJ IDEA Community
- intellij 연동
Archives
- Today
- Total
Jay's Developer Note
[JAVA] 임시 비밀번호 생성 직접 구현해보기 본문
728x90
임시 비밀번호 생성 직접 구현해보기
이번엔 임시 비밀번호를 직접 구현해봤다. 로직은 의외로 간단하다.
1. 임시로 생성할 문자 배열 정의
2. 배열 범위만큼 난수를 발생
3. 난수로 문자 배열의 특정 인덱스 값을 가져옴
4. 요청한 길이만큼 반복
5. 랜덤 문자열 반환
소스코드
난수로 인덱스를 걸어 가져올 문자 배열 선언
private final char[] rndCharSet = new char[]{
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
'!', '@', '#', '$', '%', '^', '&', '_', '=', '+'
// 원하는 특수문자 추가해서 사용
};
파라메타로 받은 길이만큼 랜덤 문자열 생성 후 반환
public String getRandomString(int size) {
StringBuilder sb = new StringBuilder();
Random rnd = new Random(new Date().getTime());
int len = rndCharSet.length;
for (int i = 0; i < size; i++) {
sb.append(rndCharSet[rnd.nextInt(len)]);
}
return sb.toString();
}
728x90
'JAVA' 카테고리의 다른 글
[JAVA] 임시 비밀번호 생성(feat. RandomStringUtils) (0) | 2022.05.25 |
---|---|
[JAVA] Class - 5(상속) (0) | 2022.04.02 |
[JAVA] 캡슐화 & 은닉화 (0) | 2022.03.16 |
[JAVA] Class - 4(메소드) (0) | 2022.03.13 |
[JAVA] Class - 3(멤버 변수) (0) | 2022.03.11 |