我需要测试一个围绕hash
函数的算法。由于哈希冲突是一个难以重现的东西,我需要一些已知会发生冲突的值。那么是否存在相同类型的已知碰撞值?
答案 0 :(得分:1)
根据@bennofs的建议,这是一个人为实例,其哈希值与半个Word8
值范围相冲突。
newtype CollidingValue = CollidingValue Word8
deriving (Eq, Show)
instance Hashable CollidingValue where
hashWithSalt salt (CollidingValue w) =
if w > edge
then hashWithSalt salt (w - edge)
else hashWithSalt salt w
where
edge = 128