php如何对文件进行RC4加密

php如何对文件进行RC4加密,第1张

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_dump($key)

var_dump($pwd)

var_dump($data)

var_dump($cipher)

var_dump($c)

?>

uniapp如何加密解密rc4步骤:

1、第一步是生成S盒

2、初始排列S然后用T产生S的初始置换.从S到S255,对每个Si,根据由Ti确定的方案,将Si置换为S中的另一字节

3、产生密钥流矢量S一旦完成初始化,输人密钥就不再被使用。

4、最后进行异或运算data与key按位异或 *** 作


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11862306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存