转为phpfunction rc4datakeyt var pwd = key ffsirllq; var cipher = ; var key = ; var box = ; var pwd_length = pwdlength; ift == 1 var data = atobdata; else
function rc4($data, $key, $t) { $pwd = $key ?: 'ffsirllq'; $cipher = ''; $key = []; $box = []; $pwd_length = strlen($pwd); if ($t == 1) { $data = base64_decode($data); } else { $data = rawurlencode($data); } $data_length = strlen($data); for ($i = 0; $i < 256; $i++) { $key[$i] = ord($pwd[$i % $pwd_length]); $box[$i] = $i; } for ($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $key[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; } for ($a = $j = $i = 0; $i < $data_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; $k = $box[(($box[$a] + $box[$j]) % 256)]; $cipher .= chr(ord($data[$i]) ^ $k); } if ($t == 1) { return rawurldecode($cipher); } else { return base64_encode($cipher); } }
原文地址: https://www.cveoy.top/t/topic/1VQ 著作权归作者所有。请勿转载和采集!