- range: documentation ( source)
- ord: documentation ( source)
- printf: documentation ( source)
<?php
for(
$K = 'Key',
$_ = range($i = $j = 0, $n = 255);
$i <= $n;
$j += $_[$i] + ord($K{$i % strlen($K)}),
s($_[
$j &= $n
], $_[
$i++
])
);
for($j = 0,
$i = 1;;
$j += $_[
$i &= $n
],
s($_[
$j &= $n
], $_[$i]),
printf('%x', $_[
(
$_[
$i++
] + $_[$j]
) & $n
])
);
function s(&$i, &$j){
$x = $i;
$i = $j;
$j = $x;
}