티스토리 뷰
[JAVA] 일회용 패스워드 생성기(OTP Creator)
-내용-
Math.random() 함수를 이용하여 생성된 난수를 사용하여 일회용 패스워드를 생성하고 클립보드에 복사합니다.
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.io.IOException;
import java.util.Scanner;
public class PwCreator {
public static void main(String[] args) throws IOException {
String pw = null; pw = getRandomPassword(12);
String temp = null;
Scanner scn = new Scanner(System.in);
System.out.println("***************************");
System.out.println("**** PW Creator ****");
System.out.println("***************************");
//System.out.println(pw);
StringSelection data = new StringSelection(pw);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(data,data);
System.out.println("패스워드가 클립보드에 복사되었습니다.\n\nCtrl + V로 생성된 패스워드를 복사 후 프로그램을 종료하세요.\n!!프로그램 종료 시 생성된 패스워드는 사라집니다.");
System.out.println("\n프로그램 종료 시 Enter 키를 입력하세요...");
temp = scn.nextLine();
scn.close();
}
public static String getRandomPassword(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',
'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); charSet.length : 70 Character
for (int i = 0; i < len; i++)
{
idx = (int) (charSet.length * Math.random());
sb.append(charSet[idx]);
}
return sb.toString();
}
}
'Programming > JAVA' 카테고리의 다른 글
| [JAVA] Switch Config Backup Program (0) | 2018.08.14 |
|---|---|
| 외부 library(jar 파일) import 하여 JAVA 프로그램 실행시키기 (0) | 2018.08.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- troijan
- selinux 설명
- linux bridge 설정
- CloudStack
- 파워쉘 문자열 포함 조건
- 웹쉘 예방
- 나이키 코르테즈
- selinux 사용법
- 이지 부스트 700 모브
- 웹쉘 해결
- 파워쉘 문자열
- 케니4
- 리눅스 모니터링
- selinux 정책설정
- 이지 350 지브라
- 매치스패션 할인
- 웹쉘 탐지
- 파워쉘 문자열 포함
- 배트멍 할인
- 피파온라인4
- 이지 부스트 700
- 조던1 사틴
- 조던1 사틴 블랙토
- 이지 700 모브
- end 응모
- 리눅스 hostname 변경
- Java
- 나이키 켄드릭라마
- 리니지m 격수 팁
- 조던1 사틴 블랙토 개봉기
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
글 보관함