php的一個(gè)簡單加密解密代碼
更新時(shí)間:2014年01月14日 15:58:53 作者:
分享一個(gè)php加密解密的類,在用戶注冊的時(shí)候發(fā)送郵件驗(yàn)證的時(shí)候估計(jì)會(huì)用的到的,代碼如下
復(fù)制代碼 代碼如下:
class SysCrypt{
private $crypt_key='http://m.fzitv.net';//密鑰
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;
}
}
該類使用方法:
復(fù)制代碼 代碼如下:
$sc=new SysCrypt('http://m.fzitv.net');
$text='yhm.1234@163.com';
$test1=$sc->encrypt($text);
echo '原文:',$text;
echo '<br />';
echo '密文:',$test1;
echo "<br/>";
echo '解密:',$sc->decrypt($test1);
輸出結(jié)果類似:
原文:yhm.1234@163.com
密文:BS8DbFU6AioCNFFlVGZQMgRGBDUOYlEzBXoAZgo0Bjk=
解密:yhm.1234@163.com
相關(guān)文章
通過PHP CLI實(shí)現(xiàn)簡單的數(shù)據(jù)庫實(shí)時(shí)監(jiān)控調(diào)度
繼續(xù)CLI模式試驗(yàn),這次通過使用之前的“帶延時(shí)的死循環(huán)”方法,來實(shí)現(xiàn)個(gè)簡單的數(shù)據(jù)庫實(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面向?qū)ο蟪绦蛟O(shè)計(jì)__tostring()和__invoke()用法分析
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)__tostring()和__invoke()用法,結(jié)合實(shí)例形式分析了__tostring()和__invoke()功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-06-06
PHP實(shí)現(xiàn)通過strace定位故障原因的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)通過strace定位故障原因的方法,結(jié)合實(shí)例形式分析了出現(xiàn)高負(fù)載情況下使用strace定位故障原因的相關(guān)命令與操作技巧,需要的朋友可以參考下2018-04-04

