博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
onethink加密解密函数
阅读量:6416 次
发布时间:2019-06-23

本文共 1480 字,大约阅读时间需要 4 分钟。

onethink中封装的加密解密函数

*/function think_encrypt($data, $key = '', $expire = 0) { $key = md5(empty($key) ? C('DATA_AUTH_KEY') : $key); $data = base64_encode($data); $x = 0; $len = strlen($data); $l = strlen($key); $char = ''; for ($i = 0; $i < $len; $i++) { if ($x == $l) $x = 0; $char .= substr($key, $x, 1); $x++; } $str = sprintf('%010d', $expire ? $expire + time():0); for ($i = 0; $i < $len; $i++) { $str .= chr(ord(substr($data, $i, 1)) + (ord(substr($char, $i, 1)))%256); } return str_replace(array('+','/','='),array('-','_',''),base64_encode($str));}/** * 系统解密方法 * @param string $data 要解密的字符串 (必须是think_encrypt方法加密的字符串) * @param string $key 加密密钥 * @return string * @author 麦当苗儿
*/function think_decrypt($data, $key = ''){ $key = md5(empty($key) ? C('DATA_AUTH_KEY') : $key); $data = str_replace(array('-','_'),array('+','/'),$data); $mod4 = strlen($data) % 4; if ($mod4) { $data .= substr('====', $mod4); } $data = base64_decode($data); $expire = substr($data,0,10); $data = substr($data,10); if($expire > 0 && $expire < time()) { return ''; } $x = 0; $len = strlen($data); $l = strlen($key); $char = $str = ''; for ($i = 0; $i < $len; $i++) { if ($x == $l) $x = 0; $char .= substr($key, $x, 1); $x++; } for ($i = 0; $i < $len; $i++) { if (ord(substr($data, $i, 1))

 

转载地址:http://cnpra.baihongyu.com/

你可能感兴趣的文章
CentOS优化初装系统
查看>>
使用mybatis
查看>>
闭锁:CountDownLatch和CyclicBarrie、FutureTask
查看>>
分布式事务处理方案
查看>>
Tomcat中设置限制ip或主机名访问
查看>>
学习Bootstrap知识记录点②
查看>>
云计算服务在小企业中的作用?
查看>>
CentOS配置本地yum源/阿里云yum源/163yuan源,并配置yum源的优先级
查看>>
10种JavaScript开发者必备的VS Code插件
查看>>
JavaScript是如何工作的: Web推送通知的机制
查看>>
Java中的字符串常量池
查看>>
案例实战:LightningChart集成Dynamotive汽车遥测软件|见证真正无与伦比的性能
查看>>
HTTP Request Method
查看>>
使用eclipse mybatis generator插件在maven 项目中自动构建代码以及遇到的一些坑
查看>>
设计师都是美工?NO!网页设计 VS. 平面设计有区别!
查看>>
“手把手教你设计”—12个最佳手机APP界面设计教程
查看>>
前端项目的总结——css in js 的好处?
查看>>
(九)整合spring cloud云服务架构 - HongHu commonservice-eureka 项目构建过程
查看>>
Linux下二进制文件的分割与合并
查看>>
知识点018-IP,PV,UV的区别
查看>>