rc4加密后是乱码的问题

这个是我在网上找的RC4加密例子:

function rc4_zz($data,$pwd="") // $pwd密钥 $data需加密字符串

{

$key [] = "";

$box [] = "";

$cipher= "";

$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;

}

执行完函数后,的出来的结果是乱码:?????? 类似这样的

我直接在运行平台直接输出任意字符都是正常的,就是用了他的加密函数后,就是乱码。存不进数据库(想过通过其他途径强行存的,但是执行完的结果,解密后也不是源数据!)

谁用过,知道为什么的教一下,谢谢,在线等!

(不用推荐我用MD5哦,这次任务要求要能完全还原的公私玥加密!)

------解决方案--------------------

按 RC4 算法说明,你的代码应写作// $pwd密钥 $data需加密字符串

function rc4_zz($data,$pwd="") {

$key [] = "";

$box [] = "";

$cipher= "";

$pwd = str_pad($pwd, 256, chr(0)); //加上这句

$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 rc4解密 乱码,rc4加密后是乱码的有关问题相关推荐

  1. 威盾php加密家解密,威盾加密后怎么解密?

    偶发现PHPCodeLock这个工具,感觉不错,尤其不需要像Zend那样还需要加载特殊插件才能进行正常执行,于是研究了一番它的加密方式,当然同时也对其解密进行了尝试,不敢独享,与众PHP爱好者分享一下 ...

  2. 加密后变成乱码解密_个人磁盘加密软件,使用VeraCrypt进行整盘加密介绍

    为了加强日常工作文档的管控,需要对个人PC上的文件进行加密存储,防止电脑.硬盘.U盘等存储介质丢失,导致数据泄露. 市面上基于文件夹加密的工具软件,大多数采用的是隐藏文件或者隔离文件的方式进行加密存储 ...

  3. hikaridatasource 加密后登陆不上_渗透测试 | 突破前端JS加密限制

    前言 现在前端开发为了提高爬虫的难度及加强安全性,都会在数据包提交前进行加密,最典型的就是传参加密,相信大家在测试的时候都遇到过,那么我们在抓取数据包并修改之后,修改之后的参数无法通过后端程序数据完整 ...

  4. JavaScript实现在线MD5、SHA、AES、Rabit 、RC4、TripleDES Ripemd160 加密解密工具-toolfk程序员在线工具网...

    2019独角兽企业重金招聘Python工程师标准>>> 本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装 ...

  5. MD5、SHA、AES、Rabit 、RC4、TripleDES Ripemd160 加密解密工具

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  6. JavaScript实现在线MD5、SHA、AES、Rabit 、RC4、TripleDES Ripemd160 加密解密工具-toolfk程序员在线工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  7. RSA加密解密,分段加密,分段解密,部分汉字乱码详解

    在日常的业务逻辑中,难免会遇到需要加密的时候,而常见的MD5加密因为是单向加密并且不可逆,导致应用场景非常的少,而这个时候,RSA对称加密就诞生了. RSA加密的逻辑是,生成一个公钥和私钥. 你可以选 ...

  8. php aes算法解密后中文乱码,教程方法;PHP aes (ecb)解密后乱码问题电脑技巧-琪琪词资源网...

    琪琪词资源网-教程方法;PHP aes (ecb)解密后乱码问题电脑技巧,以下是给大家带来的教程方法;PHP aes (ecb)解密后乱码问题,大家可以了解一下哦! 这篇文章主要介绍了PHP aes ...

  9. php对连接加密后传,PHP 加密解密和解决URL传输问题

    base64 加密和解密 $str = "http://www.onestopweb.cn"; $en=base64_encode($str); $de=base64_decode ...

最新文章

  1. 干货 | “青年AI自强计划项目”首节讲座视频、课件分享
  2. 疑难杂症--单回话下 WITH(NOLOCK)返回更多数据
  3. JBPM对象主键生成机制
  4. Spring Batch:多种格式输出编写器
  5. java 文件流 重写_java中关于文件流的总结
  6. 吴恩达《深度学习》第四门课(4)特殊应用:人脸识别和神经风格迁移
  7. 怎样设置mysql软件用户_mysql数据库用户的权限如何设置?
  8. NOI 08 石头剪刀布
  9. java中的subString与SQL中的subString(作为常识应该记住的)
  10. win10 安装MASM32 遇到的问题DELETE operation of EXE file has failed
  11. 【OTT】国内主要OTT平台背后的那些CDN服务商
  12. python判断字符串大小写的三大函数——islower、isupper、istitle函数的用法及实例
  13. 惠普服务器如何插内存
  14. Android开发自定义View之仿米家APP双色灯控制UI:做一个智能家居产品的简单智能灯UI !(附带Demo)
  15. 中西方育儿教育通选课结课作业
  16. java计算机毕业设计洁能租车源码+mysql数据库+系统+lw文档+部署
  17. linux tail 命令详解,Linux下如何使用tail命令指南
  18. 图像分析,使用Halcon进行缺陷检测
  19. eslint检查和自动格式化
  20. windows的dockerDesktopService在360杀毒后,无法启动的问题,

热门文章

  1. 河北专接本微机原理知识点07
  2. numpy.transpose和torch.transpose函数解析
  3. Manjaro升级后无法打开AppImage
  4. English trip V1 - B 21. On a busy day 忙碌的一天 Teacher:Taylor Key: at on in
  5. android mvp 利弊,android mvp模式有什么弊端 - 什么是android mvp模式,android mvp模式有什么弊端...
  6. 读书笔记 | 之Photoshop里Pantone色类型该如何选择
  7. 一款简单的平凡个人主页导航页源码
  8. Midjourney生成LOGO指南
  9. WWDC2018游记
  10. CCF认证考试201903-2二十四点