0

SRI 해시 생성기

JS나 CSS 파일에 대한 Subresource Integrity 해시를 생성하고, 바로 붙여 넣을 수 있는 script 또는 link 태그를 얻으세요.

🔒 전적으로 귀하의 브라우저에서 처리됩니다. 여기에 입력하는 어떤 것도 업로드되지 않습니다.

🔗

이미지 끌어다 놓기

모든 JS 또는 CSS 파일에 작동합니다. 아무것도 업로드되지 않으며, 해시는 로컬에서 계산됩니다.

Subresource Integrity는 Base64로 인코딩된 sha256, sha384 또는 sha512 다이제스트만 허용합니다. 이 도구는 그에 맞게 선택지를 제한하여 출력이 항상 사양에 맞도록 합니다.

처리 중... 0%
파일 읽는 중
다이제스트 계산 중
Base64로 인코딩하는 중
완료

결과

Subresource Integrity(SRI)를 사용하면 CDN이나 타사 호스트에서 가져온 스크립트 또는 스타일시트가 실행되기 전에 변조되지 않았음을 브라우저가 확인할 수 있습니다. 브라우저가 다운로드한 바이트를 해시하고 그 다이제스트가 게시된 integrity 속성과 일치하지 않으면 파일 실행을 거부하는 방식입니다. 이 도구는 브라우저 탭 안에서 드롭한 모든 JS 또는 CSS 파일에 대한 다이제스트를 계산하므로, 해시하기 위해 파일이 사용자의 컴퓨터를 떠날 필요가 전혀 없습니다.

일반적인 해시 도구로는 사용 가능한 SRI 값을 만들어내지 못합니다. SRI 사양은 대부분의 체크섬 도구가 출력하는 16진수 문자열이 아닌 Base64로 인코딩된 다이제스트를 요구하며, sha256, sha384, sha512 세 가지 알고리즘만 인식합니다. 이 생성기는 알고리즘 선택을 정확히 이 세 가지로 제한하고 결과를 올바른 방식으로 인코딩하며, 한 단계 더 나아가 그 주위에 전체 HTML 태그를 구성하여 복사하기 전에 자리표시자 src 또는 href 필드를 그 자리에서 편집할 수 있게 합니다.

내부적으로 파일은 File API로 읽히고, 네이티브 crypto.subtle.digest() 구현으로 해시되며, 결과 바이트는 하나의 큰 스프레드 연산으로 처리하지 않고 작은 청크로 나누어 Base64로 변환됩니다. 번들링된 JS 파일이 약 10만 바이트를 넘어서면서 단순한 변환 방식이 브라우저 호출 스택 한계에 도달할 수 있는 경우에 중요한 세부 사항입니다.

sha384는 SRI 예제와 문서에서 가장 일반적으로 권장되는 알고리즘이므로 기본 선택되어 있습니다. 다이제스트 길이와 충돌 저항성 사이의 균형을 맞추지만, 빌드 파이프라인이나 CDN 제공자에서 다른 요구 사항을 명시하는 경우 sha256과 sha512를 클릭 한 번으로 선택할 수 있습니다.