해시 값을 단계별로 생성하는 방법
빠른 답변
해시를 생성하려면 해시 생성기를 열고 알고리즘(SHA-256 권장)을 선택한 다음 텍스트를 입력하면 해시 다이제스트가 즉시 나타납니다. 이 도구는 보안 해싱을 위해 웹 암호화 API(crypto.subtle.digest)를 사용합니다. 모든 처리는 로컬에서 이루어지며 입력 내용이 브라우저를 떠나지 않습니다.
소개
해시 함수는 모든 크기의 입력을 받아 해시 또는 다이제스트라고 하는 고정 크기 출력을 생성합니다. SHA-256과 같은 암호화 해시 함수에는 특별한 속성이 있습니다. 즉, 동일한 입력은 항상 동일한 출력을 생성하고, 서로 다른 입력은 서로 다른 출력을 생성하며(충돌 저항성), 입력을 찾기 위해 출력을 되돌릴 수 없습니다(단방향). 해시는 데이터 무결성 확인, 비밀번호 저장, 디지털 서명 및 콘텐츠 주소 지정에 사용됩니다. 이 가이드에서는 브라우저에서 해시를 생성하는 방법을 보여줍니다.
단계별
-
해시 생성기 도구 열기
해시 생성기 도구 페이지로 이동합니다. 이 도구는 SHA-256, SHA-384, SHA-512, SHA-1 및 MD5 등 여러 알고리즘을 지원합니다.
-
해시 알고리즘 선택
대부분의 사용 사례에서는 SHA-256을 선택하세요. 최신 표준이고 널리 지원되며 알려진 취약점이 없습니다. 추가 보안을 위해 SHA-512를 사용하세요. 보안에 민감한 용도에는 MD5 및 SHA-1을 사용하지 마세요. 충돌 저항을 위해 파손되었습니다.
-
입력 텍스트를 입력하세요
해시하려는 텍스트를 입력 필드에 붙여넣거나 입력하세요. 이 도구는 입력의 UTF-8 인코딩 바이트를 해시합니다.
-
해시 다이제스트 읽기
이 도구는 crypto.subtle.digest()(SHA용)를 사용하여 해시를 계산하고 16진수로 인코딩된 다이제스트를 표시합니다. SHA-256은 64자의 16진수 문자열을 생성합니다. 결과가 즉시 나타납니다.
-
해시 복사
복사를 클릭하여 해시 다이제스트를 클립보드에 복사합니다. 파일 무결성 검사, 비밀번호 저장(솔트 및 키 스트레칭 포함) 또는 데이터 중복 제거에 사용하세요.
예
SHA-256 텍스트 해시
입력: Hello, World!
산출: dffd6021bb2bd5b0af676290809ec008dfca50a8d29e6ac0a52c2d7e9f0a3b0c
SHA-256 빈 문자열의 해시
입력:
산출: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
MD5 해시(보안용이 아닌 레거시)
입력: Hello, World!
산출: ed0760733d7505e9ceacf8af225020ac
일반적인 문제
- 보안을 위해 MD5 또는 SHA-1을 사용합니다. 둘 다 충돌 방지를 위해 손상되었습니다. 보안 목적으로 SHA-256 이상을 사용하세요.
- 솔트 없이 비밀번호 해싱 - 동일한 비밀번호는 동일한 해시를 생성하여 레인보우 테이블 공격을 가능하게 합니다. 고유한 솔트와 함께 bcrypt, scrypt 또는 Argon2를 사용하세요.
- 해시를 되돌릴 수 있다고 예상 - 암호화 해시는 단방향입니다. 해시에서 입력을 복구할 수 없습니다.
- 대소문자 구분 - 16진수 해시는 일반적으로 소문자입니다. 해시를 대소문자를 구분하지 않고 비교하거나 비교하기 전에 정규화합니다.
팁
- 데이터 무결성 확인, 콘텐츠 주소 지정 및 디지털 서명을 위해 SHA-256을 사용하세요.
- 비밀번호 저장의 경우 원시 SHA-256이 아닌 bcrypt, scrypt 또는 Argon2를 사용하십시오. 이러한 알고리즘에는 무차별 대입에 저항하기 위한 키 확장 기능이 있습니다.
- 안전한 기본 해싱을 위해 브라우저에서 Web Crypto API(crypto.subtle.digest)를 사용하세요. 라이브러리가 필요하지 않습니다.
- 즉각적인 비공개 해싱을 위해 해시 생성기를 사용하세요. 입력 내용이 브라우저를 벗어나지 않습니다.