Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 바이트 절삭
- Open Close Principal
- 데이터 압축
- Java Graphql
- Request Body 여러 번 사용
- 이중정렬
- Tomcat DBCP
- mapstruct
- Java Singleton
- Srping MVC
- graphql
- Graphql Client
- NoUniqueBeanDefinitionException
- requestheaderdto
- AfterMapping
- Jndi DataSource
- tomcat jndi
- Checked Exception
- Sub Bytes
- 상호 인증
- 개방 폐쇄 원칙
- java
- mTLS
- try - with - resources
- Reading HttpServletRequest Multiple Times
- WildFly
- Unchecked Exception
- HandlerMethodArgumentResolver
- Java Rest
- Socket is closed
Archives
- Today
- Total
Developer Sang Guy
무작위 문자열, 바이트 배열 생성 본문
문자열 생성 코드
private static final char[] CHARS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
public static String getRandomString(int length) {
StringBuilder temp = new StringBuilder(length);
for (int i = 0; i < length; i++) {
temp.append(CHARS[ThreadLocalRandom.current().nextInt(CHARS.length)]);
}
return temp.toString();
}
효율적인 메모리 할당을 위해 StringBuilder의 초기 용량을 설정
각 스레드 별로 독립적인 난수를 생성하기 위해 ThreadLocalRandom 사용
문자열 생성 결과
public static void main(String[] args) {
System.out.println(getRandomString(12));
System.out.println(getRandomString(32));
}
1 : ZZbPTrFrt8Ab
2 : Ht4Heyg0iBXCCVd1LyGnWajNxISYIrQf
무작위 바이트 배열 생성 코드
public static byte[] getRandomBytes(int length) {
byte[] random = new byte[length];
ThreadLocalRandom.current().nextBytes(random);
return random;
}
바이트 배열 생성 결과
public static void main(String[] args) {
byte[] random1 = getRandomBytes(12);
System.out.println(Base64.getEncoder().encodeToString(random1));
byte[] random2 = getRandomBytes(32);
System.out.println(Base64.getEncoder().encodeToString(random2));
}
1 : Lk0qvr+U2ucGlw+U
2 : w9A2HTtBRAjSy1B5qxHHbHlyYsAYMdxnPZ6FLFQ9EWY=
시각적으로 보기 위해 생성된 바이트 배열 Base64로 인코드하여 출력
'Java' 카테고리의 다른 글
Stram Api를 활용한 정렬 (0) | 2024.07.18 |
---|---|
Lombok @Builder 사용 시 MapStruct @AfterMapping 동작 이슈 (0) | 2024.03.15 |
Sub Bytes To String (0) | 2024.02.14 |
[JWT] Auth0을 활용한 JWT 생성 및 확인 (0) | 2023.04.10 |
[Java] Class에서 파일 읽어오기 (tomcat, wildfly) (0) | 2023.02.02 |
Comments