웹훅 서명 실험실

웹훅 서명 실험실

이 로컬 도구는 자체적인 공급자 중립 규칙을 사용합니다. ASCII 유닉스 초, ASCII 점 하나, 원문 본문 바이트를 순서대로 이어 HMAC-SHA256으로 인증합니다. 헤더 형식은 t=<초>,v1=<64자리 소문자 16진수>입니다. 텍스트 모드는 입력칸의 UTF-8을 사용하고, CRLF나 임의 바이트가 중요하면 16진수 또는 원본 파일을 선택하세요. 검증은 MAC, ± 시간창과 이 탭의 작은 중복 기록을 확인합니다. Stripe·GitHub 호환 헤더나 운영용 웹훅 수신 서버는 아닙니다.

1. 원문 본문과 임시 키

본문 ≤ 64 KiB, 키 1–128바이트, 시간창 1–3600초. 브라우저 안에서만 작동하며 공급자 API를 호출하지 않습니다.

텍스트 입력칸의 줄바꿈이 LF로 정규화될 수 있습니다. 수신한 CRLF나 임의 바이트를 정확히 쓰려면 16진수 또는 파일을 이용하세요.

학습·디버깅을 위한 자체 규칙입니다. 붙여넣은 실제 비밀키는 지우거나 탭을 닫을 때까지 메모리에 남습니다. 가능하면 데모 값을 사용하세요.

2. 서명 만들기

자체 규칙: 서명 바이트 = ASCII 유닉스 초 + ASCII 점('.') + 변경하지 않은 본문 바이트. 헤더 = t=<초>,v1=<64자리 소문자 SHA-256 HMAC 16진수>. 특정 공급자 헤더가 아닙니다.

3. 수신 헤더 검증

유효한 요청을 한 번 확인한 후 같은 헤더와 바이트를 재검증하면 이 탭에서는 재전송으로 표시합니다. 운영 환경에는 만료되는 공유 기록이 필요합니다.

예제를 불러오거나 본문과 임시 키를 입력하세요.

댓글과 질문

웹훅 서명 실험실

이 로컬 도구는 자체적인 공급자 중립 규칙을 사용합니다. ASCII 유닉스 초, ASCII 점 하나, 원문 본문 바이트를 순서대로 이어 HMAC-SHA256으로 인증합니다. 헤더 형식은 t=<초>,v1=<64자리 소문자 16진수>입니다. 텍스트 모드는 입력칸의 UTF-8을 사용하고, CRLF나 임의 바이트가 중요하면 16진수 또는 원본 파일을 선택하세요. 검증은 MAC, ± 시간창과 이 탭의 작은 중복 기록을 확인합니다. Stripe·GitHub 호환 헤더나 운영용 웹훅 수신 서버는 아닙니다.

주요 기능

  • 텍스트·16진수·로컬 파일의 정확한 바이트를 Web Crypto HMAC-SHA256으로 서명
  • 엄격한 타임스탬프 헤더와 서명 입력의 바이트 수·미리보기
  • 내용에 따라 조기 중단하지 않는 고정 길이 32바이트 비교로 해시 검증
  • 본문 변조·기한 만료·너무 미래인 시각·같은 탭에서 중복 수신을 구분
  • 비밀키를 이 페이지 메모리에서만 처리하며 자동 저장·폼 제출·API 호출 없음

사용 방법

  1. 예제를 불러오거나 텍스트·16진수·원본 파일에서 본문을 선택하고 임시 UTF-8 또는 16진수 키를 입력합니다.
  2. 서명 시각을 비워 현재 유닉스 초를 쓰거나 재현할 고정 값을 입력한 후 서명합니다.
  3. 생성된 t=...,v1=... 헤더와 초·점·원문 바이트 입력 규칙을 확인합니다.
  4. 동일한 원문 바이트와 키로 검증하고 필요하면 시험 시계와 허용 초를 지정합니다.
  5. 본문 한 바이트를 바꾸거나 시험 시계를 옮기거나 같은 헤더를 두 번 확인해 실패·만료·중복을 관찰합니다.

활용 예시

  • CRLF와 LF 차이로 생긴 웹훅 서명 불일치 재현
  • 고정된 시계에서 300초 허용 경계 확인
  • 올바른 MAC만으로는 시간창 내 재전송을 막지 못함을 확인
  • 수신 측이 인증해야 하는 정확한 타임스탬프 접두 바이트 검토

자주 묻는 질문

특정 웹훅 공급자와 호환되나요?

아닙니다. 이 도구는 t=<유닉스 초>,v1=<소문자 16진수>라는 자체 규칙으로 ASCII 시각·점·원문 바이트를 인증합니다. 실제 공급자의 헤더·인코딩·재전송 규칙은 다를 수 있으므로 운영 환경에서는 해당 공급자의 공식 명세를 따르세요.

붙여넣은 JSON이 수신 요청과 다르게 검증되는 이유는 무엇인가요?

서명은 JSON의 의미가 아닌 바이트를 대상으로 합니다. 공백·키 순서·문자 인코딩·CRLF/LF가 결과를 바꿉니다. 브라우저 텍스트 입력칸은 줄바꿈을 정규화할 수 있으므로 정확한 수신 바이트는 원본 파일이나 16진수로 입력하세요.

타임스탬프만으로 재전송을 막을 수 있나요?

아닙니다. ± 시간창은 오래되었거나 너무 미래인 요청을 거르지만 유효한 메시지는 시간창 안에서 다시 전송될 수 있습니다. 이 페이지는 최대 256개 헤더를 한 탭에서만 기억하며 닫거나 지우면 사라집니다. 운영 수신기는 만료 시간이 있는 공유 이벤트 ID·서명 저장소가 필요합니다.

비교가 완전히 일정 시간에 실행되나요?

비교 루프는 32바이트 모두를 첫 불일치에서 멈추지 않고 검사합니다. 다만 JavaScript 엔진과 브라우저는 물리적으로 일정한 실행 시간을 보장하지 않습니다. 이 데모를 부채널 안전성 인증으로 여기지 마세요.

빈 본문도 서명할 수 있나요?

네. 서명 입력에는 시각과 점 다음에 0바이트 본문이 붙습니다. 파일 모드는 선택된 파일이 필요하지만 텍스트·16진수 모드는 빈 입력을 허용합니다.

비밀키가 업로드되거나 저장되나요?

아닙니다. 이 도구는 본문이나 키를 보내는 엔드포인트와 localStorage를 사용하지 않습니다. 비밀키는 지우거나 탭을 닫기 전까지 탭의 React 상태에 남으며 브라우저와 확장 프로그램은 도구의 통제 밖입니다.

개인정보 안내

본문 바이트·헤더·비밀키는 브라우저 메모리에서 처리됩니다. 서명 입력이나 비밀키를 애플리케이션 서버로 보내거나 자동 저장하지 않습니다. 실제 자격 증명을 썼다면 사용 후 입력을 지우세요.

참고 자료

관련 도구

해시 생성기JWT 디코더바이너리 Hex 편집기WebAssembly 모듈 검사기다국어 연결 행렬 검사기구문 트리 질의 실험실컨테이너 빌드 단계 분석기의존성 그래프 탐색기버전 제약 충돌 분석기작업 스케줄 충돌 검사기패치 검토 작업대소스맵 탐색기다국어 카탈로그 검사기구조화 데이터 대조기HTTP 아카이브 분석기Protobuf 스키마 작업대GraphQL 스키마 실험실Avro 스키마 호환성 검사기로컬 SQL 데이터 작업대스키마 기반 입력 폼 생성기3D 메쉬 검사·복구기관망 유량·압력 실험실로봇팔 운동학 실험열저항 회로 실험실보 휨 실험실기어열 배치 실험공차 누적 실험실센서 교정 곡선 맞추기PCB 적층 비교 설계기디지털 필터 설계기도로망 도달 범위 지도태양 그림자 배치 실험GPS 오차 시뮬레이터디지털 논리 회로 실험아날로그 회로 실험실링크 기구 운동 실험해석용 메쉬 생성기OpenAPI 계약 검사기DB 스키마 변경 계획기수식 차원 검사기트러스 힘 실험실논리식 최소화 실험실제어계 응답 실험실대기행렬 시뮬레이터위치 구역 출입 이벤트 실험실좌표계 변환 실험실측량 폐합 검산 실험실위성·래스터 구간 분류단계구분도 설계기지도 인쇄 편집기GeoTIFF 래스터 재투영고도 등고선 생성기지형 가시영역 실험실지형 유역 탐색기오프라인 지도 타일 패키저텍스트 파일 인코딩 작업대파일 경로 호환성 검사기SBOM 라이선스 탐색기파일 형식 위장 검사기npm 잠금 파일 충돌 해결기소스 비밀값 점검기오프라인 웹 자료 패키저인증서 체인 검사기토렌트 메타정보 검사기파일 분할 전송 패키저로컬 파일 암호 금고동일 파일 찾기압축 파일 작업대디자인 토큰 관리기반응형 간격 체계 설계기반응형 타이포 시스템 설계기포장 전개도 설계기SVG 아이콘 스프라이트 묶기Flexbox 배치 설계기CSS Grid 배치 설계기정규 언어 동치 검사기Markdown 문서 묶음 검사기로그 패턴 추출기반응형 HTML 레이아웃 검사기메일 HTML 렌더 검토기내부 링크 구조 분석기상태 전이 모델 테스트 생성기페트리넷 흐름 실험Git 이력 그래프 탐색기HTTP 요청 명령 설계기바이너리 프로토콜 설계기바이너리 차이 패치 만들기파일 전자서명 작업대API 모의 응답 실험실데이터 열 매핑 설계기이벤트 로그 세션 분석기데이터베이스 관계도 설계기시계열 누락 검사기학습 데이터 분할기데이터 흐름 계보 작성기결정트리 학습 실험실데이터 비식별 처리기데이터 계약 규칙 검사기JSON Schema 검증기항목 동시출현 분석기robots 규칙 시뮬레이터HTML 검색 기본 검사기접근성 구조 검사기RSS·Atom 피드 작성기IndexNow 배포 알림 준비기검색 로봇 로그 분석기CSP 정책 검토기검색 실적 CSV 분석기CSV 수식 위험 검사기CORS 응답 시뮬레이터HTTP 캐시 동작 실험실쿠키 속성 검사기성능 추적 파일 분석기사이트맵 구조 검사기파일 일괄 이름 바꾸기파일 묶음 무결성 검증기폴더 용량 지도폴더 차이 검토기방문 순서 최적화GeoJSON 지도 편집기지도 영역 중첩 분석기지도 라벨 배치기공간 속성 결합기GeoJSON 공간 위상 검사기GPS 이동 기록 분석기이동 기록 위치 가림표 관계 결합기피벗 테이블 작업대데이터 품질 프로파일러표 데이터 정제 작업대기록 대사 도구데이터 사전 작성기canonical 관계 검사기리다이렉트 계획 검증기HTTP 응답 속도·핑 참고 테스트내 브라우저·시스템 정보JSON ↔ YAML 변환기XML ↔ JSON 변환기HTML 포맷터JavaScript 압축기목 데이터 생성기.gitignore 생성기라이선스 생성기User-Agent 분석기비밀번호 강도 검사코드 이미지 만들기XML 포맷터HTTP 상태 코드 찾기MIME 타입 찾기JS·SQL 문자열 이스케이프CSS 박스 그림자 생성기CSS 그라데이션 생성기들여쓰기 변환기진법 변환기유니코드 이스케이프 변환기유니코드 문자 분석기JSON 구조 비교기Markdown 표 생성기Base64 인코더JSON 포맷터URL 인코더SQL 포맷터Cron 표현식 생성기정규식 테스터UUID 생성기타임스탬프 변환기HTML 엔티티 변환기Markdown 미리보기CSS Minifier메타태그·OG 생성기JSON CSV 변환대소문자·케이스 변환이미지 Base64 변환
개발 도구 도구 전체 보기 →이미지/미디어 →텍스트/변환 →생활/재미 →