PHP Code class:
Copy Code code as follows:
<?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 (substr ($txt, Base64_decode)), $key);
$tmp = "";
for ($i = 0; $i < strlen ($txt); $i + +) {
$MD 5 = substr ($txt, $i, 1);
$i + +;
$tmp. = (substr ($txt, $i, 1) ^ $md 5);
}
Return Self::chktoken ()? $TMP: null;
}
/**
* Enter description here ...
* @var Unknown_type
*/
private static $_key = ' Lau ';
}
?>
How to use:
Copy Code code as follows:
<?php//code Start
/**
* Copyright (c) Xatudream
* X Atudream 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::D ecrypt ($a, 100);
?>