336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
로그인시 비밀번호를 분실하면 비밀번호찾기를 할때 사용되어지는
랜덤 비밀번호 생성 or 임시 비밀번호 발급 을 위한소스이다.
getRandomPassword(숫자) 입력된 숫자 길이만큼 비밀번호가 생성 되어진다.
현재는 10이라는 숫자를 입력해 주었기 때문에
10자리의 임시 비밀번호가 생성된다.
public static void main(String[] args) throws IOException {
System.out.println(getRamdomPassword(10));
}
public static String getRamdomPassword(int len) {
char[] charSet = 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' };
int idx = 0;
StringBuffer sb = new StringBuffer();
System.out.println("charSet.length :::: "+charSet.length);
for (int i = 0; i < len; i++) {
idx = (int) (charSet.length * Math.random()); // 36 * 생성된 난수를 Int로 추출 (소숫점제거)
System.out.println("idx :::: "+idx);
sb.append(charSet[idx]);
}
return sb.toString();
}
charSet에 임시 비밀번호에 생성될 문자들을 나열해 주고
파라미터로 넘어온 숫자열 만큼 for문을 돌린다.
이때, charSet 배열에 입력된 36개의 숫자와 Math.random()을 사용하여 생성되는 난수를 곱한뒤, Integer로 형변환을 시킨다 (소숫점을 제거한다는 의미)
반환된 int값을 charSet배열에 해당되는 값과 매칭하여 결과를 return 해준다.
이때 배열에 값을 넣을때 배열은 index를 0~ 35로 인식하게 된다.
<<OUTPUT>>
charSet.length :::: 36
idx :::: 28
idx :::: 19
idx :::: 22
idx :::: 2
idx :::: 10
idx :::: 20
idx :::: 26
idx :::: 11
idx :::: 3
idx :::: 28
SJM2AKQB3S
'Language > Java' 카테고리의 다른 글
[JAVA] 메일제목 한글깨짐 해결방법 (0) | 2016.10.27 |
---|---|
[JAVA] 자바로 메일 발송하기 (2) | 2016.10.27 |
[Java] JSON.simple 라이브러리를 사용해서 JSON을 핸들링 하자!!!! (0) | 2016.10.20 |
[Java] java 파일이름 추출/File name & path 추출 (0) | 2016.10.19 |
[JAVA/JSP] 페이징처리/페이지/paging/게시판구현 페이징 (0) | 2016.09.05 |