티스토리 뷰

비밀번호 찾기 기능에서 임시 비밀번호 생성이나 

키 값을 만들 때, 일련번호 뒤에 붙이고 싶은 문자들을 랜덤하게 생성할 때 사용할 수 있는 소스입니다. 


기본적으로 charSet을 숫자, 알파벳 등으로 설정하구요.. 

java의 random함수인 Math.random() 을 사용해서 처리했습니다. 


Math.random() 함수는 0 ~ 1 사이의 임시 값을 제공합니다. 

정확하게는 0.0 이상 1.0 미만의 double 형의 실수값을 반환합니다. 

즉, 1.0의 값은 절대로 나올 수가 없습니다. 


그래서 만약 1 ~ 10 사이의 임시값을 구하려면 다음과 같은 코드를 사용하죠.. 


int n = (int) (Math.random() * 10) + 1;


(int) (Math.random() * 10) 을 통해서 0 ~ 9 사이의 임시값이 나오게 됩니다. 

여기에 1을 더함으로써 1 ~ 10 사이의 임시값이 정해 지겠죠.. 


우리가 사용할 charSet 배열은 0 부터 시작하므로 이렇게 계산할 필요는 없을 것입니다. 

그럼.. 소스를 보시죠.. 


  1. public class RandomPassword {  
  2.   
  3.     public static String randomPassword (int length) {  
  4.         int index = 0;  
  5.         char[] charSet = new char[] {  
  6.                 '0','1','2','3','4','5','6','7','8','9'  
  7.                 ,'A','B','C','D','E','F','G','H','I','J','K','L','M'  
  8.                 ,'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'  
  9.                 ,'a','b','c','d','e','f','g','h','i','j','k','l','m'  
  10.                 ,'n','o','p','q','r','s','t','u','v','w','x','y','z'};  
  11.           
  12.         StringBuffer sb = new StringBuffer();  
  13.         for (int i=0; i<length; i++) {  
  14.             index =  (int) (charSet.length * Math.random());  
  15.             sb.append(charSet[index]);  
  16.         }  
  17.           
  18.         return sb.toString();  
  19.           
  20.     }  
  21.       
  22.     public static void main(String[] args) {  
  23.         String password = randomPassword(10);  
  24.           
  25.         System.out.println("임시비밀번호: " + password);  
  26.   
  27.     }  
  28. }  


실행 결과는 다음과 같습니다. 


임시비밀번호: GPZJfmJ9Kd


간단하면서도 유용한 팁이었습니다.~

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/06   »
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
글 보관함