CoderTools

FNV 해시 생성기

Fowler-Noll-Vo 비암호화 해시 함수

FNV 해시 정보

FNV 해시란?

FNV(Fowler-Noll-Vo)는 Glenn Fowler, Landon Curt Noll, Kiem-Phong Vo가 만든 비암호화 해시 함수입니다. 1991년에 처음 발표되었으며 단순성, 속도, 좋은 분포 특성으로 알려져 있습니다. FNV는 해시 테이블, 체크섬, 데이터 핑거프린팅에 널리 사용됩니다.

알고리즘 변종

  • FNV-1a: 바이트와 해시를 먼저 XOR한 다음 곱하는 개선된 변종. 더 나은 눈사태 특성으로 대부분의 사용 사례에 권장됩니다.
  • FNV-1: 먼저 곱한 다음 XOR하는 원래 변종. 여전히 유용하지만 일반적으로 FNV-1a가 선호됩니다.

사용 가능한 비트 길이

  • 32-bit: 8자 16진수 출력. 빠르고 중간 크기 데이터의 해시 테이블에 적합합니다.
  • 52-bit: 13자 16진수 출력. JavaScript의 53비트 안전 정수 범위에 최적화. 속도와 충돌 저항의 좋은 균형.
  • 64-bit: 16자 16진수 출력. 대규모 데이터셋에서 충돌 확률을 줄이기 위한 더 큰 해시 공간.

일반적인 사용 사례

  • 빠른 키 조회를 위한 해시 테이블 및 해시 맵
  • 데이터 중복 제거 및 콘텐츠 핑거프린팅
  • 데이터 무결성을 위한 체크섬 검증
  • 블룸 필터 및 확률적 데이터 구조

FNV 해시는 암호학적으로 안전하지 않습니다. 비밀번호, 디지털 서명 또는 보안에 민감한 애플리케이션에 사용하지 마세요. 암호화 용도로는 SHA-256 또는 BLAKE2를 사용하세요.

관련 도구