当前位置:Gxlcms > PHP教程 > php实现rc4加密算法

php实现rc4加密算法

时间:2021-07-01 10:21:17 帮助过:34人阅读

此算法的解密方法是重新加密一次,便可还原。。

  1. /*
  2. * rc4加密算法
  3. * $pwd 密钥
  4. * $data 要加密的数据
  5. */
  6. function rc4 ($pwd, $data)//$pwd密钥 $data需加密字符串
  7. {
  8. $key[] ="";
  9. $box[] ="";
  10. $pwd_length = strlen($pwd);
  11. $data_length = strlen($data);
  12. for ($i = 0; $i < 256; $i++)
  13. {
  14. $key[$i] = ord($pwd[$i % $pwd_length]);
  15. $box[$i] = $i;
  16. }
  17. for ($j = $i = 0; $i < 256; $i++)
  18. {
  19. $j = ($j + $box[$i] + $key[$i]) % 256;
  20. $tmp = $box[$i];
  21. $box[$i] = $box[$j];
  22. $box[$j] = $tmp;
  23. }
  24. for ($a = $j = $i = 0; $i < $data_length; $i++)
  25. {
  26. $a = ($a + 1) % 256;
  27. $j = ($j + $box[$a]) % 256;
  28. $tmp = $box[$a];
  29. $box[$a] = $box[$j];
  30. $box[$j] = $tmp;
  31. $k = $box[(($box[$a] + $box[$j]) % 256)];
  32. $cipher .= chr(ord($data[$i]) ^ $k);
  33. }
  34. return $cipher;
  35. }

人气教程排行