海运的博客

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

评论已关闭

分类
最新文章
最近回复
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...