php中文加密解密,求教PHP中文加密解密代码
加密 PHP 如何对字符串进行加密解密?
类似于BASE64_ENCODE / BASE64_DECODE,但是需要加密后的字符串更简短,最好可以三个字符代表一个中文。
public $STRING_TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
字符串顺序可以自定义。
回复讨论(解决方案)
如果你会位运算的不难
常用汉字的unicode在4e00-9fbf之间,utf-8表现就是三个字节
而且其二进制位结构必然为 1110xxxx 10yyyyyy 10zzzzzz
你看到了,每字节高位都是固定的,编码时完全可以去掉(解码时补回去就行)
去掉后最多只剩6位(2^6=64),完全可以用可见字符一一映射,跟base64没啥区别了
自己做个映射表(相当于密码表了),就能完成加密解密了
如果配合其他位运算(移位、异或等等可逆操作),还能有更多变化
不过有个问题是汉字(生僻字)可能会超出4e00-9fbf,这部分汉字utf-8有可能是4字节,但也是有迹可寻的,这部分自己把握吧
如果你会位运算的不难
常用汉字的unicode在4e00-9fbf之间,utf-8表现就是三个字节
而且其二进制位结构必然为 1110xxxx 10yyyyyy 10zzzzzz
你看到了,每字节高位都是固定的,编码时完全可以去掉(解码时补回去就行)
去掉后最多只剩6位(2^6=64),完全可以用可见字符一一映射,跟base64没啥区别了
自己做个映射表(相当于密码表了),就能完成加密解密了
如果配合其他位运算(移位、异或等等可逆操作),还能有更多变化
不过有个问题是汉字(生僻字)可能会超出4e00-9fbf,这部分汉字utf-8有可能是4字节,但也是有迹可寻的,这部分自己把握吧
我的思路也是取出UNICODE然后做位运算,可惜不会代码。原来弄的是4个字符代表一个元数据,这样编码出来的结果太长了,不友好,所以在找寻另一种方法。刚才看见ETAO的URL很符合我的要求,就是不知道怎么实现的?
爱幕aimer http://s.etao.com/cp/sK7Eu2FpbWVy.html
安卓4.3 http://s.etao.com/cp/sLLXvzQuMw.html
安卓诺基亚 http://s.etao.com/cp/sLLXv8W1u_nRxw.html
求大神实现!
百度一下,有教程的
加密一般都是变长,base64就不错了。还是改开发方案吧。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
php中文加密解密,求教PHP中文加密解密代码相关推荐
- php 中文加密如何解密,求教PHP中文加密解密代码
加密 PHP 如何对字符串进行加密解密? 类似于BASE64_ENCODE / BASE64_DECODE,但是需要加密后的字符串更简短,最好可以三个字符代表一个中文. public $STRING_ ...
- Base64 混淆加密+迭代次数,Base64前后端加解密不一致、Base64 js加解密结果与java加解密结果不一致,Base64中文加密乱码
Table of Contents 概述 一.js加密,java解密 1.js加密 1.中文字符串加密 2.英文等字符串加密 3.中文字符串混淆.迭代加密 4.英文等字符串混淆.迭代加密 5.JSON ...
- UE4 AES加密解密(解决中文乱码问题)
UE4自带了AES的加密解密方法,但是找了一下并没有加密解密成功的文章,于是写下这篇给大家,第一次写博客,写不好,写错的地方请帮忙指出. 参考文章: 1.https://blog.csdn.net/s ...
- python的aes的ecb加密_AES ECB PKCS5/PKCS7 加密 python实现 支持中文
ecb模式介绍 电码本模式(electronic codebook book (ecb) 这种模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密. pkcs5padding和pkcs7pad ...
- 使用crypto模块实现md5加密功能(解决中文加密前后端不一致的问题)
使用crypto模块实现md5加密功能(解决中文加密前后端不一致的问题) 参考文章: (1)使用crypto模块实现md5加密功能(解决中文加密前后端不一致的问题) (2)https://www.cn ...
- python des解密_python实现DES加密解密方法实例详解
本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优 ...
- XXTea加密 c++ 与 js 互相加解密
关于加密功能,客户端使用的是creator 用js开发的,服务器端用lua做的 要做加密功能: 1.利用c++绑定调用c++实现加密, 好处: ...
- 用户密码的加密解密操作(前端加密,后端解密)
用户密码的加密解密操作 作者是个小菜狗,行文过程基本都基于自己理解,没有深入查阅文献,如有错误,还请大神指出 背景: 公司做的是一个某某平台的系统,包括前台和后台,作者刚毕业,刚开始试用,带我的师傅让 ...
- java 3des_如何用Java进行3DES加密解密 java实现3des加密解密教程
3des,全称为3DESede或TripleDES,中文解释为是三重数据加密,用户可以通过通过对DES算法进行改进,针对每个数据块进行三次DES加密,下面小编为你带来java实现3des加密解密教程! ...
最新文章
- 简单解决AJAX在IE中的缓存问题
- python获取当前服务器ip_Python实现获取域名所用服务器的真实IP
- #论文 《ImageNet Classification with Deep Convolutional Neural Networks》
- [Android开发] 启程
- Android IOS WebRTC 音视频开发总结(七九)-- WebRTC选择H.264的四大理由
- jar 反编译_Java加密jar包流程
- 第4章操作系统基础第五版Aimin.rar
- php mysql latin1_mysql从latin1转utf-8的经验
- WaitForMultipleObjects函数及原子操作Interlocked系列函数
- 使用jmeter做接口测试----柠檬不萌!
- 无线自组织网络基础知识
- 教你用Python自制一张好看的指数估值图!这招很好用!
- 争夺智能化船票:如何迈出第一步 ——访百度主任科学家 毕然
- 爬虫学习01 什么是爬虫 爬虫的分类
- 打砖块JAVA_运用java开发打砖块游戏
- android自动调节屏幕亮度自动调节流程解析
- NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE-论文翻译
- Stata:面板数据,一般加上个体固定效应和时间固定效应
- 用Eclipse搭建VLC SDK开发环境
- altera fpga 型号说明_ALTERA的FPGA命名规则(转载)