php实现rc4加密算法代码


Posted in PHP onApril 25, 2012

代码

/* 
* 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; 
}
PHP 相关文章推荐
PHP 进程锁定问题分析研究
Nov 24 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
May 04 PHP
php实现爬取和分析知乎用户数据
Jan 26 PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 PHP
php处理带有中文URL的方法
Jul 11 PHP
php微信公众平台示例代码分析(二)
Dec 06 PHP
PHP中Notice错误常见解决方法
Apr 28 PHP
PHP微信模板消息操作示例
Jun 29 PHP
PHP array_shift()用法实例分析
Jan 07 PHP
php时间戳转换代码详解
Aug 04 PHP
PHP扩展类型及安装方式解析
Apr 27 PHP
php中数组最简单的使用方法
Dec 27 PHP
PHP filter_var() 函数 Filter 函数
Apr 25 #PHP
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 #PHP
php判断变量类型常用方法
Apr 24 #PHP
介绍一些PHP判断变量的函数
Apr 24 #PHP
PHP的几个常用数字判断函数代码
Apr 24 #PHP
php中邮箱地址正则表达式实现与详解
Apr 24 #PHP
PHPMYADMIN导入数据最大为2M的解决方法
Apr 23 #PHP
You might like
PHP编程风格规范分享
2014/01/15 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
详细介绍8款超实用JavaScript框架
2013/10/25 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
AngularJS快速入门
2015/04/02 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
AngularJS验证信息框架的封装插件用法【w5cValidator扩展插件】
2016/11/03 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
angular十大常见问题
2017/03/07 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
Python实现豆瓣图片下载的方法
2015/05/25 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
小学生自我鉴定
2013/10/12 职场文书
优秀民警事迹材料
2014/01/29 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
个人事迹材料怎么写
2014/12/30 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js