onda
close
프로필 배경
프로필 로고

onda

  • 분류 전체보기
    • Cloud
      • AWS
    • DevOps
      • OS
    • SPRING
      • SPRING
      • FCM
    • 기타
      • Git
      • 정규표현식
      • 암호화 방식
    • Troubleshooting
  • 홈
  • 태그
  • 방명록

AES-256 암호화 Java Util

AES(Advanced Encryption Standard) 암호화암호화와 복호화 과정에서 동일한 키를 사용하는 대칭키 알고리즘이다.대입 치환 SPN(substitution-Permutation Network)을 사용하는 블록암호 방식이다. 키 값의 길이에 따라 AES128, AES192, AES256으로 나뉜다.128bit의 고정된 블록 단위로 암호화를 수행한다. (Block Cipher Mode - EBC, CBC 등) 주의JDK 8 이상의 환경에서는 Java 자체적으로 AES-256을 지원하지만, 일부 구버전에서는 제한이 있을 수 있습니다.Key 길이가 정확히 32바이트(256비트)여야 합니다. 자바(Java)에서 양방향 암호화 방식인 AES-256를 지원하는 기본 유틸리티 클래스 예제입니다.아래는..

  • format_list_bulleted 기타/암호화 방식
  • · 2025. 8. 15.
  • textsms

[SpringBoot] java.lang.IllegalArgumentException: Illegal base64 character 20

문제https://yourdomain.com/api?ciphertext=3+2BL9mHNCNRUdUM6wdBoSFQ==AES 암호화 값에 +, / 등 특수문자가 포함된 base64 문자열을 전달 시 서버에서 복호화할 때 아래와 같이 에러가 발생됨Exception in thread "main" java.lang.IllegalArgumentException: Illegal base64 character 20at java.base/java.util.Base64$Decoder.decode0(Base64.java:746)at java.base/java.util.Base64$Decoder.decode(Base64.java:538) 원인특수 문자가(+ , /) 포함된 Base64 문자열이 변환되어 분리되므로 + →..

  • format_list_bulleted Troubleshooting
  • · 2025. 8. 15.
  • textsms

정규 표현식

// 0으로 시작하지 않은 정수 2, 소숫점 2const regex = /^([1-9]{1}\d{0,1}|0{1})(\.{1}\d{0,2})?$/;// 0으로 시작하지 않은 정수 3, 소숫점 2const regex = /^([1-9]{1}\d{0,2}|0{1})(\.{1}\d{0,2})?$/; 분석정수부는 1~2자리 숫자 (01, 23 등) 또는 0만 허용^ : 문자열 시작[] : 문자 클래스로 괄호 안에 있는 문자 중 하나를 의미.([1-9] : 1-9까지 숫자 중 하나이고 1-9 숫자로 시작해야 하며 0은 안됨.{1} : 반드시 한자리만 있어야 함([1-9]{1}\d{0,1}) : 0을 제외한 1~99 범위의 정수만 허용한다.|0{1} : 또는 정확히 0 하나 소수부는 선택이며, 최대 2자리까지 허..

  • format_list_bulleted 기타/정규표현식
  • · 2025. 8. 3.
  • textsms

HTTP 요청 파라미터 Base64 화면 인코딩 후 서버에서 디코딩 예시

HTTP 요청 파라미터는 기본적으로 모두 String으로 전달되며,Spring이 자동으로 타입 변환(컨버전)해줍니다.반드시 int로만 받아야 할 특별한 상황이 아니라면,String으로 받고, 필요시 int 파싱 및 유효성 검사를 직접 해주는 것이 오류 없는 설계입니다. JSconst bbsNo = "23456"; // 숫자를 문자열 형태로const encoded = btoa(bbsNo); // Base64 인코딩: "MjM0NTY="location.href = "/search.do?bbsNo=" + encodeURIComponent(encoded);// 요청 URL: /search.do?bbsNo=MjM0NTY%3Dbtoa (binary-to-ascII)J..

  • format_list_bulleted SPRING/SPRING
  • · 2025. 7. 28.
  • textsms
Git 커밋 이력 조회 (git log 명령어)

Git 커밋 이력 조회 (git log 명령어)

저장소에 있는 Commit 이력을 조회할 경우 git log 명령을 사용합니다. 특정 브랜치(develop)의 2주 동안 커밋된 주석과 그 커밋에서 변경된 파일 목록을 출력git log develop --since="2 weeks ago" --pretty=format:"%n Commit: %h|%cn|%cd|%n Nessages: %s%n File Changed: " --date=short --name-only | sort develop : 조회할 브랜치 이름 --since="2 weeks ago" : 최근 2주간의 커밋만 필터링 --pretty=format:"%h | %cn | %cd | %s" : 커밋 해시(%h), 커밋 최종 등록자 (%cn), 커밋 날짜 시간(%cd), 커밋 메시지(%s) ..

  • format_list_bulleted 기타/Git
  • · 2025. 6. 3.
  • textsms

[SpringBoot]Failed to complete request: java.lang.IllegalArgumentException: Unknown return value type: java.lang.Integer

환경STS 3.2.5jakarta.servlet-api 4.0.4Apache Tomcat 9.xJDK 17JSP 오류Failed to complete request: java.lang.IllegalArgumentException: Unknown return value type: java.lang.Integer 원인JSP 화면에서 ajax로 호출한 URL에서 int 타입으로 return을 하는 과정에서 에러가 발생 해결@ResponseBody  추가하여 오류 해결ResponseBody http응답값을 자바 객체로 변환시켜 객체에 저장한다.[ EmpController.java ]@PostMapping("/selectEmp")@ResponseBodypublic int selectEmp(@RequestBody ..

  • format_list_bulleted Troubleshooting
  • · 2025. 3. 3.
  • textsms

[SpringBoot] Servlet.service() for servlet [jsp] threw exception java.lang.ClassNotFoundException: javax.servlet.jsp.tagext.TagLibraryValidator

환경STS 3.2.5jakarta.servlet-api 4.0.4Apache Tomcat 9.xJDK 17jakarta.servlet-api 5.0 이상 버전은 Tomcat 10.x 이상부터 가능합니다. 문제main.jsp화면 호출 시 에러가 발생.Servlet.service() for servlet [jsp] threw exceptionjava.lang.ClassNotFoundException: javax.servlet.jsp.tagext.TagLibraryValidator at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.Class..

  • format_list_bulleted Troubleshooting
  • · 2025. 3. 2.
  • textsms

[SpringBoot]Error creating bean with name 'empService': Unsatisfied dependency expressed through field 'empDAO': No qualifying bean of type 'com.batch.common.dao.EmpDAO' available: expected at least 1 bean which qualifies as autowire candidate.

환경STS 3.2.5jakarta.servlet-api 4.0.4Apache Tomcat 9.xJDK 17 오류ConfigServletWebServerApplicationContext [632] : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'empService': Unsatisfied dependency expressed through field 'empDAO': No qualifying bean of type 'com.batch...

  • format_list_bulleted Troubleshooting
  • · 2025. 3. 1.
  • textsms

[SpringBoot] java.lang.IllegalStateException: No primary or single unique constructor found for interface javax.servlet.http.HttpServletRequest

환경STS 3.2.5jakarta.servlet-api 4.0.4Apache Tomcat 9.xJDK 17 jakarta.servlet-api 5.0 이상 버전은 Tomcat 10.x 이상부터 가능합니다. 문제build.gradle 에 jakarta.servlet-api 4.0.4 추가했는데 main.jsp화면 호출 시 에러가 발생.Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalStateException: No primary or single unique constructor found for interface ..

  • format_list_bulleted Troubleshooting
  • · 2025. 2. 18.
  • textsms

Firebase Cloud Messaging(FCM) HTTPS v1 서비스 호출 방식

Firebase Cloud Messaging(FCM) HTTPS v1 서비스를 Java에서 사용하려면 Firebase Admin SDK 방식과 REST 방식 중 하나를 선택하여 build.gradle이나 pom.xml에 Firebase Admin SDK , Google OAuth 라이브러리를 추가하면 됩니다. 성능상의 차이는 없으며 서비스 구현에 맞게 선택하면 됩니다.  Firebase Admin SDK 방식과 REST 방식 두 가지특징Firebase Admin SDKGoogle OAuth REST 방식라이브러리 firebase-admin google-auth-library-oauth2-http레벨고수준 API저수준 API설정 및 초기화간단 (FirebaseOptions로 초기화)별도의 HTTP 요청 작..

  • format_list_bulleted SPRING/FCM
  • · 2025. 1. 12.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
전체 카테고리
  • 분류 전체보기
    • Cloud
      • AWS
    • DevOps
      • OS
    • SPRING
      • SPRING
      • FCM
    • 기타
      • Git
      • 정규표현식
      • 암호화 방식
    • Troubleshooting
최근 글
인기 글

티스토리툴바