php加密解密类的实现代码_PHP教程
// 本文来源:龙哥博客
protected $key = “”; //公钥
private function keyED($txt,$encrypt_key)
{
$encrypt_key = md5($encrypt_key);
$ctr=0;
$tmp = “”;
for ($i=0;$i
{
if ($ctr==strlen($encrypt_key)){
$ctr=0;
}
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr++;
}
return $tmp;
}
public function encrypt($txt,$key=”")
{
if(empty($key)){
$key=$this->key;
}
srand((double)microtime()*1000000);
$encrypt_key = md5(rand(0,32000));
$ctr=0;
$tmp = “”;
for ($i=0;$i
{
if ($ctr==strlen($encrypt_key)){
$ctr=0;
}
$tmp.= substr($encrypt_key,$ctr,1) .
(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
$ctr++;
}
return $this->keyED($tmp,$key);
}
public function decrypt($txt,$key=”")
{
if(empty($key)){
$key=$this->key;
}
$txt = $this->keyED($txt,$key);
$tmp = “”;
for ($i=0;$i
{
$md5 = substr($txt,$i,1);
$i++;
$tmp.= (substr($txt,$i,1) ^ $md5);
}
return $tmp;
}
public function setKey($key)
{
if(empty($key)){
return null;
}
$this->key=$key;
}
public function getKey()
{
return $this->key;
}
// Downloads By http://www.veryhuo.com
}
$string = “http://www.52blogger.com”;
$crypt= new Crypt();
$crypt->setKey(“http://www.52blogger.com”);
$enc_text = $crypt->encrypt($string,$crypt->getKey());
$dec_text = $crypt->decrypt($enc_text,$crypt->getKey());
echo “加密前 : $string
\n”;
echo “加密后 : $enc_text
\n”;
echo “解密后 : $dec_text \n”;
?>
执行结果:
加密前 : http://www.52blogger.com
加密后 : hSzQ’Z* kP~y(WpVs=6Q3gZbR5QkhtZ(f=Zm
解密后 : http://www.52blogger.com
上一篇: 怎么保存数据到文档里
推荐阅读
-
php同时使用session和cookie来保存用户登录信息的实现代码,sessioncookie_PHP教程
-
php加密解密类的实现代码_PHP教程
-
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别,gzencodegzdeflate_PHP教程
-
php实现的双向队列类实例,php队列实例_PHP教程
-
Smarty最简单实现列表奇偶变色的方法,smarty列表奇偶变色_PHP教程
-
PHP中几个可以提高运行效率的代码写法、技巧分享,php写法_PHP教程
-
php判断终端是手机还是电脑访问网站的思路及代码_PHP教程
-
curl实现站外采集的方法和技巧_PHP教程
-
PHP根据session与cookie用户登录状态操作类的代码,sessioncookie_PHP教程
-
php实现网页缓存的工具类分享,php网页缓存工具类