FNV 해시 계산기
텍스트를 넣으면 FNV-1·FNV-1a 방식의 32비트·64비트 해시값을 각각 구합니다. XOR와 곱셈 순서만 다른 두 변형이 어떻게 다른 값을 내는지 비교할 수 있습니다.
FNV-1a 32비트
0x17ca0dea
지금 대부분의 구현이 쓰는 기본 변형입니다.
FNV-1 (32비트)0x1b22b1a0
FNV-1a (32비트)0x17ca0dea
FNV-1 (64비트)0xe784352629d53180
FNV-1a (64비트)0x6ca6c9b91f46a2aa
XOR와 곱셈, 순서만 다릅니다. FNV-1은 «곱한 뒤 XOR» (hash = (hash×prime) XOR byte), FNV-1a는 «XOR한 뒤 곱함»(hash = (hash XOR byte)×prime)입니다. 이 순서 하나가 눈사태 효과에 영향을 줘 두 변형의 결과가 서로 다릅니다.
빈 텍스트를 넣으면 바이트가 하나도 없어 반복문이 돌지 않고, 시작값인 오프셋 베이시스가 그대로 나옵니다 — 32비트는 0x811c9dc5, 64비트는 0xcbf29ce484222325입니다.
사용 방법
- 1해시할 텍스트를 입력합니다.
- 2FNV-1·FNV-1a의 32비트·64비트 해시값을 16진수로 확인합니다.
- 3같은 텍스트라도 FNV-1과 FNV-1a의 결과가 다르다는 점을 비교해 봅니다.
자주 묻는 질문
바이트마다 XOR와 곱셈을 하는 순서가 다릅니다. FNV-1은 곱한 뒤 XOR하고, FNV-1a는 XOR한 뒤 곱합니다. 이 순서 하나가 눈사태 효과(입력이 조금만 바뀌어도 출력이 크게 흔들리는 정도)에 영향을 줘, 지금은 대부분 FNV-1a를 씁니다.
IETF 초안이 정의한 고정 상수입니다(32비트: 오프셋 2166136261·소수 16777619, 64비트: 오프셋 14695981039346656037·소수 1099511628211). 임의로 정한 값이 아니라, 해시 분포가 고르게 나오도록 계산으로 골라낸 값입니다.
FNV는 각 바이트마다 연산을 반복하는데, 빈 문자열은 바이트가 하나도 없어 반복문이 한 번도 돌지 않습니다. 그래서 시작값인 오프셋 베이시스가 그대로 결과가 됩니다.
MurmurHash3는 곱셈·비트 회전·XOR을 여러 단계로 섞는 훨씬 복잡한 구조입니다. FNV는 바이트마다 XOR과 곱셈, 단 두 연산만 반복하는 가장 단순한 해시 계열이라 원리를 눈으로 따라가기 쉽습니다.
알아두면 좋은 점
- 암호학적으로 안전한 해시가 아닙니다. 체크섬·해시 테이블용으로만 적합합니다.
- 입력값은 서버로 전송되지 않습니다. 브라우저에서만 계산됩니다.
함께 보면 좋은 도구
MurmurHash3Austin Appleby의 비암호화 해시함수 MurmurHash3(x86, 32비트)를 계산합니다.CRC 체크섬CRC-8·CRC-16·CRC-32의 널리 쓰이는 14가지 변종을 한 번에 계산합니다.gitignore 판정.gitignore 규칙과 경로를 넣으면 그 파일이 무시되는지, 어느 줄이 마지막으로 이겼는지 알려줍니다.울프람 규칙규칙 번호 0~255를 8비트로 풀어 세 칸 이웃에 대응시키고 세대를 쌓아 무늬를 그립니다.2-SAT「둘 중 하나는 참」인 조건을 여럿 넣으면 참·거짓 배정이 가능한지 판정하고 배정을 하나 찾아 줍니다.
마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.