当Perl 5.8.1发布时,它添加了hash randomization。我认为,当Perl 5.8.2发布时,除非存在环境变量(PERL_HASH_SEED),否则它将删除哈希随机化。现在看来,我好像被严重误认为

PERL_HASH_SEED=$SEED perl -MData::Dumper -e 'print Dumper{map{$_,1}"a".."z"}'

无论$SEED的值如何,总是取消相同的键顺序。

哈希随机化完全消失了吗,我做错了还是这是一个错误?

最佳答案

参见Algorithmic Complexity Attacks:



因此,随机化并不总是发生的,只有当perl检测到需要随机化时才发生。

10-08 07:36