UTILITIES NEWBIE

해시, HMAC, bcrypt 설명

해시는 키가 없고 HMAC은 비밀 키로 메시지를 인증하며 bcrypt는 솔트 기반 비밀번호 해시입니다. 어느 작업도 암호화가 아닙니다.

해시와 인증 구분

SHA-256과 SHA-512는 정확한 입력 바이트의 고정 길이 해시를 만듭니다. 신뢰할 수 없는 경로에서 받은 해시로 파일 작성자를 확인할 수는 없습니다. HMAC-SHA-256·HMAC-SHA-512는 메시지와 비밀 키를 결합하며 키를 아는 누구나 유효한 태그를 만들 수 있습니다. 키를 비밀로 유지하고 적절한 상수 시간 절차로 태그를 검증하세요.

MD5는 레거시 용도로만

MD5에는 실제로 악용 가능한 충돌 취약점이 있습니다. 오래된 형식과의 호환을 위한 것이며 서명, 보안상 중요한 무결성 검사, 비밀번호 저장용이 아닙니다. SHA-256·SHA-512 같은 빠른 해시도 단독으로는 비밀번호 저장에 적합하지 않습니다. Base64나 16진수 인코딩으로 값이 비밀이 되지는 않습니다.

bcrypt 한계 이해

bcrypt는 솔트가 있는 해시를 생성하고 별도의 검증 작업을 제공합니다. 프로토타입은 명시적 동작 후 제한된 Worker에서 비용 인자 10–12로 생성하며 72 UTF-8바이트를 넘으면 조용히 자르지 않고 거부합니다. 검증은 제한된 레거시 비용 범위를 허용하지만 새 데이터베이스에 그 값을 권장하는 것은 아닙니다.

이 사이트의 작업 공간

프로토타입은 정규화하지 않은 정확한 UTF-8 텍스트를 해시합니다. 줄바꿈, 공백, 다른 Unicode 표현으로 결과가 바뀔 수 있습니다. 바이너리 파일은 해시하지 않습니다. 이 작업 공간은 광고 스크립트를 불러올 수 있는 공개 페이지와 utilitiesnewbie.com의 브라우저 출처를 공유합니다. 다른 경로와 제한적인 문서 정책만으로 별도의 출처 경계가 만들어지지는 않습니다. 애플리케이션 코드는 입력을 업로드하거나 자동 저장하지 않습니다. 복사와 다운로드는 작업 공간 밖에 데이터를 만드는 명시적 동작입니다. 호스팅은 플랫폼 스크립트를 추가할 수 있고 기기나 확장 프로그램이 데이터에 접근할 수 있습니다. 테스트 값만 사용하고 실제 계정 비밀번호나 기밀 파일은 절대 입력하지 마세요. 이 안내에는 비밀 입력 필드나 결정적 마스터 비밀번호 기능이 없습니다.

예시: 공개 SHA-256 벡터 확인

리터럴 텍스트 abc의 UTF-8바이트는 61 62 63 의 16진수입니다. 줄바꿈·바깥 따옴표가 없을 때 SHA-256은 아래 16진수 64자를 만듭니다. 줄바꿈을 넣으면 입력 바이트와 해시가 달라집니다. 이 공개 테스트는 재현성을 확인할 뿐 발신자의 신원 검증이 아닙니다.

예상 결과: 줄바꿈 없는 abc의 SHA-256:

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

예시: 보이는 글자가 아닌 바이트 세기

미리 합성한 문자 é(U+00E9)는 UTF-8 두 바이트입니다. 36번 반복하면 36 × 2 = 72 바이트로 이 프로토타입의 bcrypt 입력 제한 안입니다. 37번 반복하면 74바이트이므로 거부해야 합니다. 시각적으로 비슷한 다음 시퀀스는 e + U+0301 는 3바이트이며 프로토타입은 정규화하지 않습니다. 이 반복되는 공개 문자열은 테스트 데이터이지 비밀번호 제안이 아닙니다.

예상 결과: 36 × 2 = 72 바이트로 길이 검사를 통과합니다; 37 × 2 = 74 바이트: 거부됩니다.

작업 공간 열기

영어로 열립니다. 도구의 입력이나 파일은 전달되지 않습니다. https://utilitiesnewbie.com/workspace/private/

작업 공간 열기

도구는 적용되는 법적 권리나 당사의 법적 책임을 없애지 않습니다. 보안·책임 면제를 약속하지 않습니다.

도구 찾기

JSON이나 백분율처럼 도구 이름을 입력하세요.

빠른 링크

분류별 보기

모든 도구