XXH128 해시생성기

문자열의 온라인생성기 xxh128 해시

XXH128 hash

이 온라인도구를 사용하면 모든 문자열의 해시 xxh128를 생성할 수 있습니다.

XXH128 길이는 32자입니다.

이 도구가 얼마나 도움이 되었나요?

평균 평점: 4.8/5 (8명의 투표 기반)

우리의 작업을 지원해 주세요

사용 가능한 해시

MD2 해시, MD4 해시, MD5 해시, SHA1 해시, SHA224 해시, SHA256 해시, SHA384 해시, SHA512/224 해시, SHA512/256 해시, SHA512 해시, SHA3-224 해시, SHA3-256 해시, SHA3-384 해시, SHA3-512 해시, RIPEMD128 해시, RIPEMD160 해시, RIPEMD256 해시, RIPEMD320 해시, WHIRLPOOL 해시, TIGER128,3 해시, TIGER160,3 해시, TIGER192,3 해시, TIGER128,4 해시, TIGER160,4 해시, TIGER192,4 해시, SNEFRU 해시, SNEFRU256 해시, GOST 해시, GOST-CRYPTO 해시, ADLER32 해시, CRC32 해시, CRC32B 해시, CRC32C 해시, FNV132 해시, FNV1A32 해시, FNV164 해시, FNV1A64 해시, JOAAT 해시, MURMUR3A 해시, MURMUR3C 해시, MURMUR3F 해시, XXH32 해시, XXH64 해시, XXH3 해시, XXH128 해시, HAVAL128,3 해시, HAVAL160,3 해시, HAVAL192,3 해시, HAVAL224,3 해시, HAVAL256,3 해시, HAVAL128,4 해시, HAVAL160,4 해시, HAVAL192,4 해시, HAVAL224,4 해시, HAVAL256,4 해시, HAVAL128,5 해시, HAVAL160,5 해시, HAVAL192,5 해시, HAVAL224,5 해시, HAVAL256,5 해시,

XXH128이란 무엇인가?

XXH128은 XXH3 알고리즘의 128비트 변형입니다. XXH3는 64비트 또는 128비트 출력을 제공할 수 있지만, XXH128은 특히 128비트 전체 다이제스트를 생성하도록 구현된 버전입니다. 이 알고리즘은 수조 개의 항목을 해시할 때조차 충돌 확률이 수학적으로 무시할 수 있을 정도로 낮아야 하는 애플리케이션을 위해 설계되었습니다. XXH3와 마찬가지로, 현대식 CPU를 위해 제작되었으며 벡터화 명령어를 사용하여 현존하는 가장 빠른 128비트 해시 함수 중 하나가 될 수 있는 속도를 달성합니다.

XXH128 해시는 어떻게 작동하나요?

XXH128은 XXH3 코어를 기반으로 하며, "아발란치(avalanche)" 혼합 단계를 확장하여 두 배의 상태 크기를 처리합니다:

  1. 상태 확장: 각각 64비트 폭의 두 개의 병렬 내부 상태를 활용하며, SIMD 명령어를 사용하여 동시에 처리합니다.
  2. 광역 혼합: 이 알고리즘은 XXH64에 비해 더 큰 단위로 데이터를 처리하여, 입력값이 전체 128비트 상태에 걸쳐 "퍼지도록" 보장합니다.
  3. 시크릿 키 적용: 혼합 단계에서 "시크릿"(의사 난수 데이터 블록)을 통합합니다. 이를 통해 해시 출력은 입력뿐만 아니라 내부 상수에 의존하게 되어, 분포 품질과 악의적인 충돌 시도에 대한 저항성이 크게 향상됩니다.
  4. 최종화(128비트 아발란치): 최종화 단계에서는 두 개의 64비트 누적기에 대해 집중적인 비트 단위 혼합을 수행하여 매우 균일한 128비트 지문을 생성합니다.

비교: XXH128 대 XXH3 및 XXH64

  • XXH128 대 XXH64:
  • 충돌 저항성: XXH128이 훨씬 우수합니다. 128비트 출력을 갖기 때문에, 생일 역설에 따른 충돌 임계값은 64비트 해시(XXH64)보다 기하급수적으로 높습니다. 애플리케이션이 방대한 데이터 세트(예: 빅데이터 인덱싱)를 처리하는 경우, XXH128이 더 안전한 선택입니다.
  • 성능: 벡터화(SIMD) 구현의 효율성 덕분에, 비트 수가 두 배인 XXH128은 XXH64보다 성능이 약간만 느립니다.

  • XXH128 대 XXH3(64비트 모드):

  • 주요 용도: XXH3(64비트 모드)는 충돌 처리를 데이터 구조체에서 수행하는, "무조건적인 속도"를 추구하는 해시 테이블을 위해 설계되었습니다. XXH128은 고유하고 충돌에 강한 식별자가 필요한 "무결성 중심" 애플리케이션(파일 중복 제거나 대용량 데이터 블록 검증 등)을 위해 설계되었습니다.
  • 복잡도: XXH128은 내부 상태를 최종 128비트 다이제스트로 "압축"하기 위해 더 복잡한 최종화 단계를 사용하는 반면, XXH3(64비트)는 이 단계보다 약간 일찍 종료됩니다.

ToolsYEP이 마음에 드시나요? 저희의 작업을 응원해 주세요!

TOP