[java] 랜덤 패스워드 생성
2011. 5. 21. 01:59 |
프로그래밍/기타
회사에서 랜덤패스워드를 생성해보고 싶어서 윈도우 배치파일로 시도해보다 포기하고 결국 자바로 짜봤습니다. 자바라 해봐야 신입사원 교육받을 때 2주간 배운게 전부라, 코딩 수준은 기초를 벗어나지 못합니다만 그래도 복잡한 패스워드를 생성해야 할 때 쓸만하지 않을까 싶어 올려봅니다. 아스키 테이블 33번부터 126번까지 랜덤하게 10자리씩 생성해줍니다.
개발자 분들 좋은 아이디어 있다면 댓글 조언 언제든지 환영입니다. ^^
Starbros님 조언을 듣고 반복문을 줄이고 배열도 뺐습니다.
최종 다이어트 코드는 아래와 같습니다.
10자리 랜덤패스워드 20개 생성하는건데, 여기서 더 줄이는건 불가능해 보이네요.
개발자 분들 좋은 아이디어 있다면 댓글 조언 언제든지 환영입니다. ^^
public class Password {
public static void main(String[] args) {
int[] asciiNum = new int[10];
for (int i = 0; i < 20; i++) {
for (int j = 0; j < asciiNum.length; j++) {
int ranNum = -1;
ranNum = (int) ((Math.random() * 94) + 33);
asciiNum[j] = ranNum;
}
for (int n : asciiNum) {
System.out.print((char) n);
}
System.out.println();
}
}
}
public static void main(String[] args) {
int[] asciiNum = new int[10];
for (int i = 0; i < 20; i++) {
for (int j = 0; j < asciiNum.length; j++) {
int ranNum = -1;
ranNum = (int) ((Math.random() * 94) + 33);
asciiNum[j] = ranNum;
}
for (int n : asciiNum) {
System.out.print((char) n);
}
System.out.println();
}
}
}
Starbros님 조언을 듣고 반복문을 줄이고 배열도 뺐습니다.
최종 다이어트 코드는 아래와 같습니다.
10자리 랜덤패스워드 20개 생성하는건데, 여기서 더 줄이는건 불가능해 보이네요.
public class Password {
public static void main(String[] args) {
for (int i = 0; i < 200; i++) {
System.out.print((char)((Math.random() * 94) + 33));
if (i%10==9) System.out.println();
}
}
}
public static void main(String[] args) {
for (int i = 0; i < 200; i++) {
System.out.print((char)((Math.random() * 94) + 33));
if (i%10==9) System.out.println();
}
}
}
'프로그래밍 > 기타' 카테고리의 다른 글
[Python] CentOS 리눅스 Python 3 설치 (1) | 2017.05.07 |
---|---|
[Python] 자연수 n 이하의 소수 구하기 (1) | 2017.05.07 |
[Python] 로또 번호 생성 (4) | 2017.05.07 |
[java] 복잡도를 만족하는 랜덤 패스워드 생성 (11) | 2011.12.26 |
VisualSVN 서버로 Subversion 서버 구동하기 (9) | 2011.03.09 |
[Java] 로또 번호 생성 (25) | 2011.02.12 |
마우스 우클릭으로 .java 컴파일과 동시에 실행하기 (16) | 2010.12.22 |
마우스 우클릭으로 .java 컴파일과 .class 실행하기 (44) | 2010.12.13 |
최근에 달린 댓글 최근에 달린 댓글