手机
当前位置:查字典教程网 >编程开发 >php教程 >支持中文的php加密解密类代码
支持中文的php加密解密类代码
摘要: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加密解密类代码】相关文章:

php判断文本文档字符编码

PHP中的加密功能

一个阿拉伯数字转中文数字的函数

我的论坛源代码(一)

php编写批量生成不重复的卡号密码代码

一段php加密解密的代码

经典PHP加密解密函数Authcode()修复版代码

php中数据的批量导入(csv文件)

PHP滚动日志的代码实现

php curl 上传文件代码实例

精品推荐
分类导航