海运的博客

PHP与易语言使用RC4加解密

发布时间:November 29, 2016 // 分类: // No Comments

PHP:

<?php
function rc4($key, $str) {
  $s = array();
  for ($i = 0; $i < 256; $i++) {
    $s[$i] = $i;
  }
  $j = 0;
  for ($i = 0; $i < 256; $i++) {
    $j = ($j + $s[$i] + ord($key[$i % strlen($key)])) % 256;
    $x = $s[$i];
    $s[$i] = $s[$j];
    $s[$j] = $x;
  }
  $i = 0;
  $j = 0;
  $res = '';
  for ($y = 0; $y < strlen($str); $y++) {
    $i = ($i + 1) % 256;
    $j = ($j + $s[$i]) % 256;
    $x = $s[$i];
    $s[$i] = $s[$j];
    $s[$j] = $x;
    $res .= $str[$y] ^ chr($s[($s[$i] + $s[$j]) % 256]);
  }
  return $res;
}
echo bin2hex(rc4('key', 'str'));

易语言:

字节集_到十六进制 (加密数据 (到字节集 (编码_gb2312到utf8 (“str”)), “key”, #RC4算法))
字节集_到十六进制 (编码_RC4加密 (到字节集 (编码_gb2312到utf8 (“str”)), “key”))

标签:none

发表评论

分类
最新文章
最近回复
  • 吴昊: 学习了,感谢博主分享
  • linhua: 只需配置 服务端 的接收端口随机化就行了, 发送端口 因为 连接追踪(conntrack)的缘...
  • Realm: 博主你好,按照你的教程设置了IP转发及SNAT:echo 1 > /proc/sys/net/...
  • Roki: 大神, 为什么我在make clean 就出错了呢 ?你能帮我看看吗 。。。474495758...
  • Duuge: 遇到相同的问题,但未能解决,请求帮助。1、遇到的问题:/target-i386_i486_uC...
  • carlo: 大哥,我觉得你的技术好牛逼!能加你QQ吗
  • lebron: Unknown package 'lrzsz'.Collected errors:* opkg...
  • Vicer: 在openwrt 15.05 下 luci 界面安装了 带操作界面的 openconnect ...
  • tutugreen: 搭建很顺利(唯一成功的www),链接很丝滑,谢博主。
  • 惊蛰: 您好,请问一下,我客户端和服务端都编译成功了,down到本地启动是这个样子,没有Forward...
页面执行耗时:0.0578秒。-->