Notice
Recent Posts
Recent Comments
Link
투케이2K
364. (java/자바) [유틸 파일] getRandomString - 안정적 아스키 문자 사용해 입력 된 길이 만큼 랜덤 문자열 생성 본문
Java
364. (java/자바) [유틸 파일] getRandomString - 안정적 아스키 문자 사용해 입력 된 길이 만큼 랜덤 문자열 생성
투케이2K 2025. 12. 28. 17:33728x90
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java / Kotlin
- 개발 툴 : AndroidStudio
- 구분 : 유틸 파일 / 간단 소스 / ASCII / Random
- 사전) ASCII 문자 간단 설명 :
>> 아스키 코드 (ASCII) 는 영어 알파벳, 숫자, 특수 문자 등을 컴퓨터에서 사용하기 위해 각 문자에 할당된 숫자 코드입니다
- 아스키 코드는 128개의 문자조합을 제공하는 7 비트 부호 체계입니다
- 알파벳 , 숫자, 특수 기호 등을 표현하기 위해서는 각 1 byte 값 (8 bit) 을 사용합니다
>> 제어 문자 : 0–31, 127 : \n, \t
>> 숫자 : 48–57 : 0–9
>> 대문자 : 65–90 : A–Z
>> 소문자 : 97–122 : a–z
>> 특수문자 : 나머지 : ! @ # $ % 등
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
public static String getRandomString(int length) {
/**
* // -----------------------------------------
* [getRandomString 메소드 설명]
* // -----------------------------------------
* 1. 랜덤 문자열 생성 반환
* // -----------------------------------------
* 2. 호출 방식 :
*
* C_Util.getRandomString(10);
*
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* 3C47oFbskO
* // -----------------------------------------
* */
// [변수 선언 실시]
String returnData = "";
String M_LOG = "";
// [로직 처리 실시]
try {
if (length > 0){
String CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
StringBuilder result = new StringBuilder(length);
for (int i = 0; i < length; i++) {
int index = random.nextInt(CHARS.length());
result.append(CHARS.charAt(index));
}
returnData = result.toString();
M_LOG = "[Success] : Random String Create";
}
else {
M_LOG = "[Error] : Input Length Size Error";
}
}
catch (Exception e) {
S_Log._printStackTrace_(null, S_FinalData.LOG_BUG_STATE, null, e);
M_LOG = "[Exception] : " + String.valueOf(e.getMessage());
}
// [로그 출력]
S_Log._D_("랜덤 문자열 생성 반환", new String[]{
"INPUT [Length] :: " + String.valueOf(length),
"M_LOG :: " + String.valueOf(M_LOG),
"RETURN :: " + String.valueOf(returnData)
});
// [리턴 데이터 반환 실시]
return returnData;
}
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[포맷] : [ASCII] 아스키 코드 (ASCII) 문자 표현 방식 포맷 설명
https://kkh0977.tistory.com/7688
https://blog.naver.com/kkh0977/223754005405?trackingCode=blog_bloghome_searchlist
[ASCII CODE , ANSI CODE , UNI CODE , UTF-8 , UTF-16 개념 설명]
https://blog.naver.com/kkh0977/222738078154?trackingCode=blog_bloghome_searchlist
[Math.random 랜덤 알파벳 문자 표시 - Math.random 랜덤 객체를 사용해 알파벳 문자 생성 실시]
https://blog.naver.com/kkh0977/222195162326?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
728x90
반응형
'Java' 카테고리의 다른 글
Comments
