SHA-1 해시 생성기이란?
SHA-1 해시 생성기는 임의의 입력에서 160비트(40자리 16진수) 다이제스트를 생성합니다. SHA-1은 Git 커밋 해시, 레거시 인증서 지문, 충돌 저항이 필수적이지 않은 데이터 무결성 검증에 사용됩니다.
텍스트를 입력하거나 파일을 드롭하면 사용자 기기에서 SubtleCrypto가 계산한 40자 길이의 SHA-1 다이제스트가 출력됩니다. 기대값을 Compare 필드에 붙여 넣으면 배지가 초록 또는 로즈색으로 바뀌어, 16진수를 일일이 비교할 필요가 없습니다. Git은 커밋과 블롭 주소에 여전히 SHA-1을 사용하므로, 터미널을 열지 않고도 Git 객체 해시를 빠르게 확인하거나 검증할 수 있습니다.
사용 방법
- 1단계 — 텍스트를 입력하거나 붙여넣거나, 파일을 업로드하여 SHA-1 다이제스트를 계산합니다.
- 2단계 — 해시는 기기에서 생성되므로 데이터가 업로드되지 않습니다.
- 3단계 — 40자리 16진수 문자열을 복사하거나 예상 값과 비교하여 검증합니다.
사용 시기
- git CLI 없이 Git 커밋/블롭 해시를 확인하거나 검증할 때.
- 지금도 SHA-1 형식으로 배포되는 옛 TLS 인증서의 지문을 대조할 때.
- MD5는 폐기됐지만 SHA-256은 공개되지 않은 레거시 소프트웨어 체크섬 대조.
결과
Git 객체의 SHA-1 해시가 저장소 로그에 표시된 값과 일치하는지 확인해야 할 때 객체 내용을 여기에 붙여넣고 출력값을 비교하세요.
자주 묻는 질문
- SHA-1은 아직 안전한가요?
- 서명이나 인증서에는 안전하지 않습니다. 2017년 구글의 SHAttered 공격이 같은 SHA-1을 갖는 PDF 두 개를 만들어냈고, 그 이후 공격 비용은 계속 떨어졌습니다. Git 주소 지정과 레거시 호환에는 여전히 쓰이지만, 새 시스템은 SHA-256 이상을 선택해야 합니다.
- SHA-1이 깨졌는데 Git은 왜 계속 쓰나요?
- Git은 SHA-1을 콘텐츠 주소로 사용할 뿐 보안 프리미티브로 쓰지 않습니다. 충돌은 이력 위조에서 문제이지 고유 명명에는 영향을 주지 않습니다. Git 프로젝트는 2020년부터 SHA-256으로 이전 중이지만 공개 저장소 대다수는 아직 SHA-1입니다.
- SHA-1과 SHA-2는 어떻게 다른가요?
- SHA-1은 고정된 단일 설계이며 160비트 다이제스트를 만듭니다. SHA-2는 SHA-224, SHA-256, SHA-384, SHA-512로 이루어진 계열로 내부 구조가 다르고 출력이 더 깁니다. SHA-2에는 실용적인 충돌 공격이 알려진 바 없습니다.
- 여기서 두 SHA-1 문자열을 비교할 수 있나요?
- 할 수 있습니다. 기대 해시를 Compare 필드에 붙여 넣으면 일치 시 초록, 불일치 시 로즈색 배지가 표시됩니다. 비교는 대소문자를 가리지 않으므로 abc123과 ABC123은 같다고 처리됩니다.
- 파일이 업로드되나요?
- 아니요. 파일은 사용자 기기에서 ArrayBuffer로 읽혀 SubtleCrypto에 전달되며, 모든 처리는 페이지 내에서 끝납니다. 네트워크를 끊어도 해시는 정상적으로 계산됩니다.