From ea3b25e1aef55d90f707c3a292eeb9162e2615d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=B8=80=20WangYi?= Date: Wed, 2 Nov 2022 22:42:37 +0800 Subject: [PATCH] completely solved BadSeeds --- wyhash.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wyhash.h b/wyhash.h index ec539df..7df33d4 100644 --- a/wyhash.h +++ b/wyhash.h @@ -137,7 +137,8 @@ static inline uint64_t wyhash(const void *key, size_t len, uint64_t seed, const while(_unlikely_(i>16)){ seed=_wymix(_wyr8(p)^secret[1],_wyr8(p+8)^seed); i-=16; p+=16; } a=_wyr8(p+i-16); b=_wyr8(p+i-8); } - return _wymix(secret[1]^len,_wymix(a^secret[1],b^seed)); + a^=secret[1]; b^=seed; _wymum(&a,&b); + return _wymix(a^secret[0]^len,b^secret[1]); } //the default secret parameters