php的一個(gè)簡(jiǎn)單加密解密代碼
class SysCrypt{
private $crypt_key='http://www.dbjr.com.cn';//密鑰
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;
}
}
該類使用方法:
$sc=new SysCrypt('http://www.dbjr.com.cn');
$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實(shí)現(xiàn)ASCII碼與字符串相互轉(zhuǎn)換的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)ASCII碼與字符串相互轉(zhuǎn)換的方法,涉及php字符串的遍歷、替換、編碼轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2017-04-04php將字符串轉(zhuǎn)換為數(shù)組實(shí)例講解
在本篇文章里小編給大家分享的是關(guān)于php將字符串轉(zhuǎn)換為數(shù)組實(shí)例講解,需要的朋友們可以學(xué)習(xí)下。2020-05-05PHP頁(yè)面實(shí)現(xiàn)定時(shí)跳轉(zhuǎn)的方法
這篇文章主要介紹了PHP頁(yè)面實(shí)現(xiàn)定時(shí)跳轉(zhuǎn)的方法,實(shí)例演示使用header函數(shù)來實(shí)現(xiàn)跳轉(zhuǎn)的技巧,需要的朋友可以參考下2014-10-10PHP中使用循環(huán)實(shí)現(xiàn)的金字塔圖形
這篇文章主要介紹了PHP中使用循環(huán)實(shí)現(xiàn)的金字塔圖形,本文是一篇PHP的課堂筆記,完成老師的作業(yè)總結(jié)而來,需要的朋友可以參考下2014-11-11Zend Studio for Eclipse的java.lang.NullPointerException錯(cuò)誤的解決方
Zend Studio for Eclipse 6.x 可以算得上是最好的PHP的IDE了.2008-12-12簡(jiǎn)單實(shí)現(xiàn)限定phpmyadmin訪問ip的方法
如果你需要限定phpmyadmin特定的ip地址段進(jìn)行訪問,一個(gè)簡(jiǎn)單的方式可以在配置文件中進(jìn)行簡(jiǎn)單限定。2013-03-03PHP簡(jiǎn)單判斷iPhone、iPad、Android及PC設(shè)備的方法
這篇文章主要介紹了PHP簡(jiǎn)單判斷iPhone、iPad、Android及PC設(shè)備的方法,可有效的判斷出移動(dòng)設(shè)備與PC端類型,需要的朋友可以參考下2016-10-10php file_put_contents()功能函數(shù)(集成了fopen、fwrite、fclose)
php file_put_contents()功能函數(shù)(集成了fopen、fwrite、fclose) ,需要的朋友可以參考下。2011-05-05