Programming 83

중복 파일 제거 프로그램

# pip install send2trash 선택한 디렉토리 하위 모든 파일에 대해 해시값 조사하여 중복된 것을 확인하여 삭제할 수 있는 프로그램입니다.시간 단축을 위해, 처음, 중간, 끝 1KB 씩만 추출하여 해시값을 계산합니다.import osimport hashlibimport tkinter as tkfrom tkinter import ttk, filedialog, messageboximport datetimeimport send2trashimport platformimport subprocessPARTIAL_READ_SIZE = 1024 # 1024 바이트로 변경def fast_hash(filepath): try: filesize = os.path.getsize(filepath..

java.security.NoSuchAlgorithmException: No such algorithm: SEED/CBC/PKCS5Padding

legacy 시스템에서 java 버전 업그레이드(6→8 이상 등)시 위와 같은 오류 발생시 조치 방법 중 하나입니다. # vi $JRE_HOME/lib/security/java.security... 673 라인 전 후에서 아래 3줄주석 처리 후, 위 한줄 내용만 남김 ...#jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize # DSA keySize # include jdk.disabled.namedCurves jdk.jar.disabledAlgorithms=MD2, RSA keySize

Programming/Java 2025.09.23

GitLab 서버로부터 여러 프로젝트의 일부 디렉토리만 Checkout 하기

1. gitlab 서버에 ssh key 미리 등록 (Settings - SSH Keys)2. 아래 스크립트(git_clone.sh 등으로)를 소스를 내려받을 서버에 저장 (상단의 환경변수는 적절히 변경 필요)3. Jenkins 등의 도구에서 스크립트 호출하여 checkout가령, myprogram 이란 빌드가 있고, res/image res/js java lib 등의 프로젝트/디렉토리로 분리되어 있는 경우,git_clone.sh myprogram res/image res/js java lib 과 같이 실행하면,작업디렉토리/myprogram/src 아래에 지정한 프로젝트/디렉토리만 checkout 됩니다. [git_clone.sh]#!/bin/bashif [ $# -lt 2 ]; then echo "..

Programming 2025.08.04

java decompiler 디컴파일러 사용법 (procyon)

jd-gui 보다 정확한 작업이 가능할 수 있으며 일반적인 옵션을 기재합니다.java -jar procyon-decompiler-0.6.0.jar --unicode --disable-foreach -sm -ps -ec -u -o 디렉토리명 jar파일명https://github.com/mstrobel/procyon/releases/tag/v0.6.0 Release Procyon Decompiler v0.6.0 · mstrobel/procyonProcyon Decompiler v0.6.0 adds the following: Various bug fixes, including but not limited to: Duplicate declarations of catch exception variables. Va..

Programming/Java 2025.07.14

JDK 6 → JDK 8 이상 업그레이드 후 Caused by: java.lang.SecurityException: The provider has unsigned class files. 발생 조치

java.security에서 jdk.jar.disabledAlgorithms 를 주석처리하거나 JDK 6과 동일하게 설정 후, 다시 시작해 봅니다.(아래 예시는 JDK 6과 동일하게 설정하는 방법) # vi $JAVA_HOME/jre/lib/security/java.security...#jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize # DSA keySize # include jdk.disabled.namedCurves...jdk.jar.disabledAlgorithms=MD2, RSA keySize

Programming/Java 2025.06.18

Python SSE webshell 샘플 (ansi2html 적용)

추후 참고 차, 일반화해서 간략하게 작성한 것으로,서버의 명령어를 실행하여 ansi 출력물을 html로 스트리밍 해오는 샘플 코드입니다.(중지 가능) pip install 로 flask, ansi2html 등 필요한 라이브러리 설치하고,app.py 등으로 저장 후, python app.py 로 실행하면 됩니다.이후 해당 서버 IP:5000 으로 접속하면 테스트 가능합니다. from flask import Flask, request, render_template_string, Response, send_from_directoryimport urllib.parseimport subprocessimport ansi2htmlimport reapp = Flask(__name__)process = NoneHTML_..

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 조치 방법

Tomcat이나 Java 애플리케이션이 CA 인증기관의 인증서를 인식하지 못하는 것이 원인입니다.여러가지 조치방법이 있겠으나, 아래와 같이 빠르게 조치 가능합니다. 1. 웹 브라우저(Chrome, Edge, Firefox 등)에서 해당 사이트의 인증서를 다운로드하세요.[브라우저에서 URL 접속  →  🔒 아이콘 클릭 → "연결이 안전합니다." 클릭  →  인증서 아이콘클릭 → 세부정보 내보내기  →  DER 형식으로 내보내기] 2. 관리자 권한으로 cmd 창을 띄운 뒤 아래 명령어로 다운로드한 .der 파일을 Java의 신뢰 저장소(cacerts)에 추가합니다. (jdk 경로 및 der 파일 경로는 상황에 맞게 수정)keytool -import -trustcacerts -keystore "C:\Prog..

Programming/Java 2025.02.24

SSL/TLS handshake 테스트

$ javac SSL.java$ java SSL 아래 코드를 SSL.java 로 저장 후, 위와 같이 테스트합니다.(JDK/JRE 등에서 정상 연결 여부를 보고 싶을 때 사용 가능)import javax.net.ssl.SSLSocket;import javax.net.ssl.SSLSocketFactory;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.OutputStream;import java.util.Arrays;public class SSL { public static void main(String[] args) { String host = "lawmin.tistory.com"; ..

Programming/Java 2025.02.24

[Excel] VMware VM export 후 IP 필터링

1. vCenter 에서 Cluster 등의 상위 항목에서 VM 탭 클릭2. Manage Column 선택하여 IP를 포함한 필요한 항목을 추가하여 Export 합니다.3. csv 파일을 열고 xlsm 형식으로 저장합니다.4. 이를 다시 엑셀에서 ALT-F11 하여 아래 소스의 모듈을 추가 합니다.Function FilterValues(cell As String, conditions As String) As String Dim arr As Variant Dim condArr As Variant Dim result As String Dim i As Integer, j As Integer arr = Split(cell, ", ") ' J열의 데이터를 ", " 기준으로 분리 ..

Programming 2025.02.11