欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php实现rc4加密算法

程序员文章站 2024-01-19 23:24:16
...

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

  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 {
  13. $key[$i] = ord($pwd[$i % $pwd_length]);
  14. $box[$i] = $i;
  15. }
  16. for ($j = $i = 0; $i {
  17. $j = ($j + $box[$i] + $key[$i]) % 256;
  18. $tmp = $box[$i];
  19. $box[$i] = $box[$j];
  20. $box[$j] = $tmp;
  21. }
  22. for ($a = $j = $i = 0; $i {
  23. $a = ($a + 1) % 256;
  24. $j = ($j + $box[$a]) % 256;
  25. $tmp = $box[$a];
  26. $box[$a] = $box[$j];
  27. $box[$j] = $tmp;
  28. $k = $box[(($box[$a] + $box[$j]) % 256)];
  29. $cipher .= chr(ord($data[$i]) ^ $k);
  30. }
  31. return $cipher;
  32. }
复制代码