php的一個(gè)簡(jiǎn)單加密解密代碼
class SysCrypt{
private $crypt_key='http://www.dhdzp.com';//密鑰
public function __construct($crypt_key){
$this->crypt_key=$crypt_key;
}
public function encrypt($txt){
srand((double)microtime()*1000000);
$encrypt_key=md5(rand(0,32000));
$ctr=0;
$tmp='';
for($i=0;$i<strlen($txt);$i++){
$ctr=$ctr==strlen($encrypt_key)?0:$ctr;
$tmp.=$encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]);
}
return base64_encode(self::__key($tmp,$this->crypt_key));
}
public function decrypt($txt){
$txt=self::__key(base64_decode($txt),$this->crypt_key);
$tmp='';
for($i=0;$i<strlen($txt);$i++){
$md5=$txt[$i];
$tmp.=$txt[++$i]^$md5;
}
return $tmp;
}
private function __key($txt,$encrypt_key){
$encrypt_key=md5($encrypt_key);
$ctr=0;
$tmp='';
for($i=0;$i<strlen($txt);$i++){
$ctr=$ctr==strlen($encrypt_key)?0:$ctr;
$tmp.=$txt[$i]^$encrypt_key[$ctr++];
}
return $tmp;
}
public function __destruct(){
$this->crypt_key=NULL;
}
}
該類(lèi)使用方法:
$sc=new SysCrypt('http://www.dhdzp.com');
$text='yhm.1234@163.com';
$test1=$sc->encrypt($text);
echo '原文:',$text;
echo '<br />';
echo '密文:',$test1;
echo "<br/>";
echo '解密:',$sc->decrypt($test1);
輸出結(jié)果類(lèi)似:
原文:yhm.1234@163.com
密文:BS8DbFU6AioCNFFlVGZQMgRGBDUOYlEzBXoAZgo0Bjk=
解密:yhm.1234@163.com
相關(guān)文章
通過(guò)PHP CLI實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)庫(kù)實(shí)時(shí)監(jiān)控調(diào)度
繼續(xù)CLI模式試驗(yàn),這次通過(guò)使用之前的“帶延時(shí)的死循環(huán)”方法,來(lái)實(shí)現(xiàn)個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)實(shí)時(shí)監(jiān)控調(diào)度功能。2009-07-07
PHP實(shí)現(xiàn)RSA簽名生成訂單功能【支付寶示例】
這篇文章主要介紹了PHP實(shí)現(xiàn)RSA簽名生成訂單功能,涉及php隨機(jī)字符串及編碼相關(guān)操作技巧,以及支付寶公鑰文件讀取與使用方法,需要的朋友可以參考下2017-06-06
PHP備份/還原MySQL數(shù)據(jù)庫(kù)的代碼
之前是采用PHP讀取數(shù)據(jù)庫(kù)結(jié)構(gòu)和內(nèi)容,然后寫(xiě)文件,這樣可能會(huì)導(dǎo)致導(dǎo)出的文件不一定能百分百導(dǎo)入到MySQL中去,想想之后采用MySQL自帶的導(dǎo)入導(dǎo)出命令最保險(xiǎn)2011-01-01
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)__tostring()和__invoke()用法分析
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)__tostring()和__invoke()用法,結(jié)合實(shí)例形式分析了__tostring()和__invoke()功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-06-06
簡(jiǎn)單的過(guò)濾字符串中的HTML標(biāo)記
簡(jiǎn)單的過(guò)濾字符串中的HTML標(biāo)記...2006-12-12
PHP實(shí)現(xiàn)通過(guò)strace定位故障原因的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)通過(guò)strace定位故障原因的方法,結(jié)合實(shí)例形式分析了出現(xiàn)高負(fù)載情況下使用strace定位故障原因的相關(guān)命令與操作技巧,需要的朋友可以參考下2018-04-04

