Wyhash와 Wyrand는 각각 이상적인 64 비트 해시 기능이며 PRNG입니다.
Solid : Wyhash는 Smhasher를 통과했고 Wyrand는 Bigcrush, Practrand를 통과했습니다.
휴대용 : 64 비트/32 비트 시스템, Big/Little Endian.
가장 빠른 : 64 비트 기계, 특히 짧은 키의 경우 효율적입니다.
가장 간단한 : 코드 크기의 의미에서.
Salted : 우리는 의도 된 공격을 피하기 위해 역동적 인 비밀을 사용합니다.
Wyhash는 Great Zig, V, Nim 및 Go (1.17 이후) 언어의 기본 해싱 알고리즘입니다. 하나의 이정표는 Wyhash가 Microsoft에 의해 [Wind
Simple Example:
#include "wyhash.h"
uint64_t _wyp[4];
make_secret(time(NULL),_wyp);
string s="fcdskhfjs";
uint64_t h=wyhash(s.c_str(),s.size(),0,_wyp);
제한 사항 :
Wyhash/Wyrand의 한계가 있다는 것은 이제 알려져 있습니다.
둘 다 64 비트 충돌 저항은 아니지만 약 62 비트입니다 (Flyingmutant/Cyan4973/vigna).
더 긴 데이터 세트 (32TB, 23 일)에서 테스트 할 때 Wyrand는 실행 실패 (vigna)
그리고 앞으로 더 많은 결함이 발견 될 수 있습니다.
사용자는 아무도 완벽하지 않기 때문에 Wyhash/Wyrand의 이점과 결함을 기반으로 자신의 결정을 내려야합니다.
C# https://github.com/cocowalla/wyhash-dotnet
C ++ https://github.com/tommyettinger/waterhash
C ++ https://github.com/alainesp/wy
https://github.com/dgryski/go-wyhash로 이동하십시오
https://github.com/orisano/wyhash 로 이동하십시오
https://github.com/littleli/go-wyhash16 로 이동하십시오
https://github.com/zeebo/wyhash 로 이동하십시오
https://github.com/lonewolf3739/wyhash-go 로 이동하십시오
https://github.com/zhangyunhao116/wyhash (최종 버전 1 && 3)
java https://github.com/openhft/zero-allocation-hashing
java https://github.com/dynatrace-oss/hash4j (최종 버전 3 및 4)
Kotlin multiplatform https://github.com/appmattus/crypto/tree/main/cryptohash
nim https://github.com/nim-lang/nim/blob/devel/lib/pure/hashes.nim
nim https://github.com/jackhftang/wyhash.nim
nim https://github.com/littleli/nim-wyhash16
Rust https://github.com/eldruin/wyhash-rs
Swift https://github.com/lemire/swiftwyhash
Swift https://github.com/lemire/swiftwyhashbenchmark
Swift https://github.com/jeudesprits/pswyhash
v https://github.com/vlang/v/tree/master/vlib/hash/wyhash (v4)
zig https://github.com/mandejan/zig-wyhash
ABSL HASHMAP https://github.com/abseil/abseil-cpp/blob/master/absl/hash/internal/low_level_hash.h
이 이름에 감사드립니다.
Reini Urban
Dietrich Epp
조슈아 하버 만
Tommy Ettinger
다니엘 레미어
otmar ertl
Cocowalla
레오-유리 에프
Diego Barrios Romero
Paulie-G
덤블로
양 콜렛
IVTE-MS
하이브
제임스 ZM GAO
EasyAspi314 (Devin)
신학 적
플라잉 마우트
vigna
탄시