|
代码如下:class SysCrypt{ private $crypt_key='//www.jb51.cc';//密钥 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$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$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$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('//www.jb51.cc'); $text='yhm.1234@163.com'; $test1=$sc->encrypt($text); echo '原文:',$text; echo ' '; echo '密文:',$test1; echo " "; echo '解密:',$sc->decrypt($test1);
输出结果类似:
原文:yhm.1234@163.com 密文:BS8DbFU6AioCNFFlVGZQMgRGBDUOYlEzBXoAZgo0Bjk= 解密:yhm.1234@163.com (编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|