首頁  >  文章  >  後端開發  >  php實作rc4加密演算法

php實作rc4加密演算法

WBOY
WBOY原創
2016-07-25 09:09:322888瀏覽

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

  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. }
复制代码


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:循環類型下一篇:循環類型