PHP rc4 算法
<?php
function algRc4($pwd, $data)
{
$key[] ="";
$box[] ="";
$pwd_length =
strlen($pwd);
$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;
}
$cipher = ‘‘;
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);
}
return
$cipher;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。