支持中文的php加密解密类代码


Posted in PHP onNovember 27, 2011

php代码类:

<?php 
/** 
* Copyright (c) 2011 - 01 XatuDream 
* XatuDream All Rights Reserved. 
* Support:185390516.qzone.qq.com 
* QQ:185390516 
* Author:Lau Version:1.01 
* Date:2010-08-12 09:28:32 
*/ 
! defined ( 'WORKSPACE' ) && exit ( "Access Denied !" ); 
class MD5Crypt { 
/** 
* Enter description here ... 
* @param unknown_type $str 
* @return string 
*/ 
public final static function mdsha($str) { 
$code = substr ( md5 ( $str ), 10 ); 
$code .= substr ( sha1 ( $str ), 0, 28 ); 
$code .= substr ( md5 ( $str ), 0, 22 ); 
$code .= substr ( sha1 ( $str ), 16 ) . md5 ( $str ); 
return self::chkToken () ? $code : null; 
} 
/** 
* Enter description here ... 
* @param unknown_type $param 
*/ 
private final static function chkToken() { 
return true; 
} 
/** 
* Enter description here ... 
* @param unknown_type $txt 
* @param unknown_type $encrypt_key 
* @return Ambigous <string, boolean> 
*/ 
private final static function keyED($txt, $encrypt_key) { 
$encrypt_key = md5 ( $encrypt_key ); 
$ctr = 0; 
$tmp = ""; 
for($i = 0; $i < strlen ( $txt ); $i ++) { 
if ($ctr == strlen ( $encrypt_key )) 
$ctr = 0; 
$tmp .= substr ( $txt, $i, 1 ) ^ substr ( $encrypt_key, $ctr, 1 ); 
$ctr ++; 
} 
return $tmp; 
} 
/** 
* Enter description here ... 
* @param unknown_type $txt 
* @param unknown_type $key 
* @return string 
*/ 
public final static function Encrypt($txt, $key) { 
srand ( ( double ) microtime () * 1000000 ); 
$encrypt_key = md5 ( rand ( 0, 32000 ) ); 
$ctr = 0; 
$tmp = ""; 
for($i = 0; $i < strlen ( $txt ); $i ++) { 
if ($ctr == strlen ( $encrypt_key )) 
$ctr = 0; 
$tmp .= substr ( $encrypt_key, $ctr, 1 ) . (substr ( $txt, $i, 1 ) ^ substr ( $encrypt_key, $ctr, 1 )); 
$ctr ++; 
} 
$_code = md5 ( $encrypt_key ) . base64_encode ( self::keyED ( $tmp, $key ) ) . md5 ( $encrypt_key . $key ); 
return self::chkToken () ? $_code : null; 
} 
/** 
* Enter description here ... 
* @param unknown_type $txt 
* @param unknown_type $key 
* @return Ambigous <string, boolean> 
*/ 
public final static function Decrypt($txt, $key) { 
$txt = self::keyED ( base64_decode ( substr ( $txt, 32, - 32 ) ), $key ); 
$tmp = ""; 
for($i = 0; $i < strlen ( $txt ); $i ++) { 
$md5 = substr ( $txt, $i, 1 ); 
$i ++; 
$tmp .= (substr ( $txt, $i, 1 ) ^ $md5); 
} 
return self::chkToken () ? $tmp : null; 
} 
/** 
* Enter description here ... 
* @var unknown_type 
*/ 
private static $_key = 'lau'; 
} 
?>

使用方法:
<?php //Code Start 
/** 
* Copyright (c) 2011 XatuDream 
* XatuDream All Rights Reserved. 
* Support:185390516.qzone.qq.com 
* QQ:185390516 
* Author:LoveCrystal Version:1.01 
* Date:2011-9-2 04:00:37 
*/ 
define ( 'WORKSPACE', '.' . DIRECTORY_SEPARATOR ); 
header ( "Content-Type: text/html; charset=utf-8" ); 
include_once 'Core/Library/MD5Crypt.class.php'; 
$a = MD5Crypt::Encrypt ( "A", 100 ); 
echo "EnCode:" . $a, "<br />"; 
echo "DeCode:" . MD5Crypt::Decrypt ( $a, 100 ); 
?>
PHP 相关文章推荐
使用 eAccelerator加速PHP代码的方法
Sep 30 PHP
php日历[测试通过]
Mar 27 PHP
mayfish 数据入库验证代码
Apr 30 PHP
php URL跳转代码 减少外链
Jun 25 PHP
PHP全概率运算函数(优化版) Webgame开发必备
Jul 04 PHP
php中实现简单的ACL 完结篇
Sep 07 PHP
php生成数组的使用示例 php全组合算法
Jan 16 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
前端必学之PHP语法基础
Jan 01 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
May 20 PHP
php使用preg_match()函数验证ip地址的方法
Jan 07 PHP
Yii全局函数用法示例
Jan 22 PHP
php UBB 解析实现代码
Nov 27 #PHP
PHP高自定义性安全验证码代码
Nov 27 #PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 #PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
Nov 25 #PHP
php 团购折扣计算公式
Nov 24 #PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 #PHP
打造超酷的PHP数据饼图效果实现代码
Nov 23 #PHP
You might like
利用PHP和AJAX创建RSS聚合器的代码
2007/03/13 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
php实现上传图片保存到数据库的方法
2015/02/11 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
php array_map()函数实例用法
2021/03/03 PHP
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
让table变成exls的示例代码
2014/03/24 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
javascript属性访问表达式用法分析
2015/04/25 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
Python如何生成树形图案
2018/01/03 Python
Python多项式回归的实现方法
2019/03/11 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
python re模块常见用法例举
2021/03/01 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
美国钻石商店:Zales
2016/11/20 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
审核会计岗位职责
2013/11/08 职场文书
公司运动会策划方案
2014/05/25 职场文书
525心理活动总结
2014/07/04 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
实用求职信模板范文
2019/05/13 职场文书
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android