php如何对文件进行RC4加密
发布网友
发布时间:2022-04-18 23:59
我来回答
共3个回答
热心网友
时间:2022-04-19 01:28
1.原始钥匙 key
2.md5(md5+常量) 加密原始key => mkey
3.mkey 作为AC4的密匙 ac_mkey
4.ac_mkey 对加密数据 进行 AC4 加密 得到AC4密码
5.AC4密码 在进行一次 AC4加密可还原 加密数据
简单来说,一句话,用md5 做AC4的密匙
以下是代码
<?php
/*
* 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;
}
$key = '5201314'; //原始KEY
$pwd = md5(md5($key).'我是常量'); //md5+常量
$data = '我爱北京天安门'; //要加密的数据
$cipher = rc4($pwd, $data); //AC4 加密算法
$c = rc4($pwd, $cipher); //AC4 加密算法还原 (还原只需要重新加密一次)
echo '<pre>';
var_mp($key);
var_mp($pwd);
var_mp($data);
var_mp($cipher);
var_mp($c);
?>
热心网友
时间:2022-04-19 02:46
不清楚。
给文件加密,我使用的是超级加密3000.
超级加密 3000采用先进的加密算法,使你的文件和文件夹加密后,真正的达到超高的加密强度,让你的加密数据无懈可击。
热心网友
时间:2022-04-19 04:21
可以帮你不免费需要吗追问加你扣是吗?可以收费
追答是的