此算法的解密方法是重新加密一次,便可还原。。
- /*
- * rc4加密算法
- * $pwd 密钥
- * $data 要加密的数据
- */
- function rc4 ($pwd, $data)//$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;
- }
-
- 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;
- }
复制代码
|
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31