>백엔드 개발 >PHP 튜토리얼 >PHP는 rc4 암호화 알고리즘을 구현합니다.

PHP는 rc4 암호화 알고리즘을 구현합니다.

WBOY
WBOY원래의
2016-07-25 09:09:322909검색

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

  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으로 문의하세요.
이전 기사:루프 유형다음 기사:루프 유형