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

 更新时间:2011年11月27日 16:33:42   作者:  
支持中文的php加密解密类代码,需要的朋友可以参考下。
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 mysql 事务处理回滚操作(附实例)

    解析php mysql 事务处理回滚操作(附实例)

    其实用PHP来处理mysql的事务回滚并不难,下面小编就详细的为大家介绍一下。相信大家看完之后都知道如何使用
    2013-08-08
  • PHP实现的抓取小说网站内容功能示例

    PHP实现的抓取小说网站内容功能示例

    这篇文章主要介绍了PHP实现的抓取小说网站内容功能,涉及php页面抓取、正则匹配、文件读写等相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • 基于PHP实现的事件机制实例分析

    基于PHP实现的事件机制实例分析

    这篇文章主要介绍了基于PHP实现的事件机制,实例分析了事件机制的原理及php中debug_backtrace函数完成事件机制的实现技巧,需要的朋友可以参考下
    2015-06-06
  • 用PHP代码在网页上生成图片

    用PHP代码在网页上生成图片

    这篇文章主要介绍了用PHP代码在网页上生成图片的方法和实例,十分的简单实用,有需要的小伙伴可以参考下。
    2015-07-07
  • PHP对XML内容进行修改和删除实例代码

    PHP对XML内容进行修改和删除实例代码

    这篇文章给大家主要介绍了利用PHP对XML内容进行修改和删除的原理和方法,文中通过示例代码介绍的很详细,相信对大家的理解和学习很有帮助,感兴趣的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • PHP fopen 读取带中文URL地址的一点见解

    PHP fopen 读取带中文URL地址的一点见解

    之前喜欢用fopen()函数跨域读取图片或其它文件,一直都没发现什么问题。我所用的PHP版本都是5的了,应该不会有CRLF Injection攻击危险吧
    2012-09-09
  • PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法

    PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法

    这篇文章主要介绍了PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法,结合实例形式详细分析了php5.3环境下PDO_OCI模块的安装方法,并给出了连接Oracle测试程序,需要的朋友可以参考下
    2016-05-05
  • PHP命名空间namespace用法实例分析

    PHP命名空间namespace用法实例分析

    这篇文章主要介绍了PHP命名空间namespace用法,结合实例形式分析了php中命名空间的功能、使用方法及相关注意事项,需要的朋友可以参考下
    2016-09-09
  • php禁用函数设置及查看方法详解

    php禁用函数设置及查看方法详解

    这篇文章主要介绍了php禁用函数设置及查看方法,结合实例形式分析了php禁用函数的方法及使用php探针查看禁用函数信息的相关实现技巧,需要的朋友可以参考下
    2016-07-07
  • php中动态调用函数的方法

    php中动态调用函数的方法

    这篇文章主要介绍了php中动态调用函数的方法,实例分析了php动态函数的实现原理与具体实现步骤,需要的朋友可以参考下
    2015-03-03

最新评论