Web Security Config

SRI 해시 생성기배포할 파일의 바이트로 계산

텍스트 또는 파일을 선택하세요. 주소를 입력해도 원격 리소스를 가져오지 않습니다.

SRI 해시 생성기

원본 내용

텍스트는 UTF-8, 파일은 원본 바이트로 계산합니다.

SRI 결과

내용은 브라우저에서 처리하며 주소로 요청하지 않습니다.

옵션

파일 하나는 20 MiB, 텍스트는 100만 UTF-16 단위까지.

텍스트나 파일을 입력하세요.

SRI 해시 생성기는 CDN에서 불러오는 스크립트와 스타일시트를 검토한 버전의 내용에 묶을 때 유용합니다. HTTPS 연결만으로는 서버가 나중에 다른 코드를 내보내는 일을 막지 못합니다.

서브리소스 무결성의 값은 일반적인 16진수 체크섬과 다릅니다. 파일을 고르면 원본 바이트를, 텍스트를 붙이면 UTF-8 바이트를 해시한 뒤 Base64로 인코딩합니다.

SRI 해시 생성기를 쓰는 이유

주소와 계산 대상의 역할을 혼동하지 않도록 보여 줍니다.

로컬 원본을 기준으로 삼기

SRI 해시 생성기는 선택한 파일을 그대로 읽습니다. 주소 칸으로 CDN을 조회하지 않으므로, 의도하지 않은 원격 응답이 기준 값으로 들어가지 않습니다.

로컬 파일에서 요약 값과 script 태그로 이어지고 주소 칸은 네트워크에 닿지 않는 그림.

기존 값의 일치 여부 보기

같은 알고리즘으로 만든 토큰 하나를 입력하면 현재 파일과 비교합니다. 내용이나 옵션을 바꾼 순간 예전 결과의 복사와 다운로드가 막힙니다.

파일 값과 기존 값 두 줄이 만나는 곳에 일치 표시와 불일치 표시가 갈라지는 그림.

배포 전 확인할 세 가지

01

마지막 산출물로 계산하기

텍스트는 UTF-8로 바뀌고 파일은 원래 바이트를 유지합니다. 빌드 후 줄바꿈이 달라질 수 있으므로 최종 파일이 더 믿을 만한 입력입니다.

02

알고리즘을 맞추기

기본값은 SHA-384입니다. 기존 integrity 값은 현재 알고리즘과 같은 토큰 하나만 받으며 변경하면 다시 생성해야 합니다.

03

서버 응답 따로 확인하기

주소는 태그에만 들어갑니다. 생성된 crossorigin="anonymous"와 서버의 CORS 응답이 함께 맞는지는 실제 배포 환경에서 확인하세요.

바이트에서 태그까지 한 흐름

표준 Base64 값

SHA-256, SHA-384, SHA-512의 접두사와 Base64를 결합합니다. 일반 파일 해시 도구의 16진수 출력은 그대로 integrity 속성에 넣을 수 없습니다.

기존 값 검사

무결성 해시 토큰 하나를 현재 입력과 비교합니다. 형식은 맞지만 바이트가 다르면 계산 오류가 아니라 불일치로 표시합니다.

두 가지 HTML 리소스

script와 stylesheet를 선택할 수 있습니다. 주소는 HTML 속성에 안전하게 넣고 crossorigin 값도 함께 구성합니다.

취소와 오래된 결과 차단

최대 20 MiB 파일을 Worker에서 처리하며, 입력 변경이나 취소 이후의 결과는 내보낼 수 없습니다.

확인 가능한 범위와 한계

URL은 검사하지 않음
주소를 입력해도 요청하지 않습니다. CDN에서 실제로 같은 파일을 보내는지, CORS 헤더를 허용하는지는 이 화면만으로 알 수 없습니다.
여러 토큰은 받지 않음
서로 다른 알고리즘이 함께 있으면 브라우저는 가장 강한 것을 우선합니다. 이 도구는 단일 토큰만 비교해 잘못된 합격 판정을 피합니다.
변경된 배포 파일은 재계산
번들링이나 CDN 변환 후에는 바이트가 달라질 수 있습니다. 기존 integrity 속성을 그대로 재사용하지 말고 최종 파일로 새 값을 만드세요.
입력 크기 제한
파일 하나 20 MiB, 텍스트 100만 UTF-16 단위까지 처리합니다. URL 가져오기, 일괄 파일, MD5, SHA-1, 악성 코드 분석은 제공하지 않습니다.

SRI 해시 생성기 자주 묻는 질문

서브리소스 무결성은 HTTPS와 어떻게 다른가요?

HTTPS는 전송 연결을 보호합니다. SRI 해시 생성기는 예상한 바이트를 기록해 브라우저가 받은 리소스와 비교하게 합니다. 두 방법을 함께 써야 합니다.

무결성 해시는 어떻게 생성할 수 있나요?

최종 파일이나 붙여 넣은 내용으로 SHA-256, SHA-384, SHA-512 중 하나를 계산하고 Base64 토큰을 integrity 속성에 넣습니다. 기본 선택은 SHA-384입니다.

왜 crossorigin=anonymous를 포함해야 하나요?

다른 출처에서 읽는 리소스는 CORS 허용 응답이 필요합니다. 생성 태그는 crossorigin="anonymous"를 포함하지만 이 도구는 서버에 접속해 헤더를 시험하지 않습니다.

입력한 내용은 브라우저 안에서만 처리되나요?

예. 텍스트와 파일은 이 탭의 브라우저에서만 계산하며, 선택 주소를 fetch하지 않습니다. 공유한 다운로드 파일에는 해시와 입력한 주소가 들어갈 수 있습니다.

브라우저 탭을 닫아도 입력 데이터가 남나요?

입력은 저장하지 않으므로 탭을 닫거나 새로고침하면 다시 선택해야 합니다. 브라우저 확장 프로그램이나 기기 자체의 저장 동작까지 이 도구가 통제하지는 않습니다.

설명이 더 필요한 부분이 있나요?

다음 리소스에 SRI 해시 생성기 사용

SRI 해시 생성기로 돌아가 실제 배포할 파일을 선택하고, 속성과 태그를 검토한 뒤 페이지에 적용하세요.