… | |
… | |
42 | |
42 | |
43 | --$l; |
43 | --$l; |
44 | |
44 | |
45 | if ($l <= 17) { |
45 | if ($l <= 17) { |
46 | for (0 .. $l) { |
46 | for (0 .. $l) { |
47 | $i = (_to32 $i * 3) + ord substr $xor, $l - $_; |
47 | $i = _to32 $i * 3 + ord substr $xor, $l - $_; |
48 | $j = (_to32 $j * 5) + ord substr $xor, $_; |
48 | $j = _to32 $j * 5 + ord substr $xor, $_; |
49 | } |
49 | } |
50 | } else { |
50 | } else { |
51 | for ($_ = $l; $_ >= 0; $_ -= int $_/19) { |
51 | for ($_ = $l; $_ >= 0; $_ -= int $_/19) { |
52 | $i = (_to32 $i * 5) + ord substr $xor, $_; |
52 | $i = _to32 $i * 5 + ord substr $xor, $_; |
53 | $j = (_to32 $j * 3) + ord substr $xor, $l - $_; |
53 | $j = _to32 $j * 3 + ord substr $xor, $l - $_; |
54 | } |
54 | } |
55 | } |
55 | } |
56 | |
56 | |
57 | $i ^= $j; |
57 | $i ^= $j; |
58 | _to32 (($i & 0xffffff) ^ ($i >> 24)) |
58 | _to32 (($i & 0xffffff) ^ ($i >> 24)) |