我试图在Perl 5.8.2及更高版本中触发哈希随机化功能.要做到这一点,我需要一组病态的,但随机化功能.我试过用MJD's code,但那没用.而且,现在我看着它,我不应该感到惊讶.它来自1997年,从那时起我们就改变了哈希函数.
有谁知道一组病理键,或者如何生成它们?我想我应该去看哈希函数并反向设计解决方案,但我很懒.
hob*_*bbs 10
注意:此信息对于5.8.2和5.17.x之间的perl有效.从perl 5.18开始,perl使用新的哈希算法,每次启动时都会发生哈希随机化(而不是仅在检测到病态哈希时),并且PERL_HASH_SEED以不同的方式进行解释.由于perl现在使用128位散列种子,因此"病态散列"条件几乎不可能有意触发.
原来的答案:如果你通过把强制散列种子为0,PERL_HASH_SEED=0在环境的Perl开始前,领取钥匙"\0","\0\0","\0\0\0"等会引起每一个关键的散列桶0占地面积当前皮尔斯.