Crypt加密算法的PHP实现

《Crypt加密算法的PHP实现》<?php

《Crypt加密算法的PHP实现》
class Crypt

《Crypt加密算法的PHP实现》{

《Crypt加密算法的PHP实现》

  
/**
《Crypt加密算法的PHP实现》    * 加密方法
《Crypt加密算法的PHP实现》    *
《Crypt加密算法的PHP实现》    * @param string $str    需要加密的内容
《Crypt加密算法的PHP实现》    * @param string $key    密钥
《Crypt加密算法的PHP实现》    * @param bool $toBase64  是否base64(最好true吧,比如cookie加密长度有限制的)
《Crypt加密算法的PHP实现》    * return string
《Crypt加密算法的PHP实现》    */

《Crypt加密算法的PHP实现》        
public function encrypt($str,$key,$toBase64=
true){

《Crypt加密算法的PHP实现》                $r = md5($key);

《Crypt加密算法的PHP实现》                $c=0;

《Crypt加密算法的PHP实现》                $v = “”;

《Crypt加密算法的PHP实现》                                $len = strlen($str);

《Crypt加密算法的PHP实现》                                $l = strlen($r);

《Crypt加密算法的PHP实现》                
for ($i=0;$i<$len;$i++){

《Crypt加密算法的PHP实现》                
if ($c== $l) $c=0;

《Crypt加密算法的PHP实现》                 $v.= substr($r,$c,1) .

《Crypt加密算法的PHP实现》                         (substr($str,$i,1) ^ substr($r,$c,1));

《Crypt加密算法的PHP实现》                 $c++;

《Crypt加密算法的PHP实现》                }

《Crypt加密算法的PHP实现》                
if($toBase64) {

《Crypt加密算法的PHP实现》                        
return base64_encode(self::_ed($v,$key));

《Crypt加密算法的PHP实现》                }
else {

《Crypt加密算法的PHP实现》                        
return self::_ed($v,$key);

《Crypt加密算法的PHP实现》                }

《Crypt加密算法的PHP实现》

        }

《Crypt加密算法的PHP实现》

  
/**
《Crypt加密算法的PHP实现》    * 解密方法
《Crypt加密算法的PHP实现》    *
《Crypt加密算法的PHP实现》    * @param string $str    加密后的内容
《Crypt加密算法的PHP实现》    * @param string $key    密钥
《Crypt加密算法的PHP实现》    * @param bool $toBase64  
《Crypt加密算法的PHP实现》    * return string
《Crypt加密算法的PHP实现》    */

《Crypt加密算法的PHP实现》        
public function decrypt($str,$key,$toBase64=
true) {

《Crypt加密算法的PHP实现》                
if($toBase64) {

《Crypt加密算法的PHP实现》                        $str = self::_ed(base64_decode($str),$key);

《Crypt加密算法的PHP实现》                }
else {

《Crypt加密算法的PHP实现》                        $str = self::_ed($str,$key);

《Crypt加密算法的PHP实现》                }

《Crypt加密算法的PHP实现》                $v = “”;

《Crypt加密算法的PHP实现》                                $len = strlen($str);

《Crypt加密算法的PHP实现》                
for ($i=0;$i<$len;$i++){

《Crypt加密算法的PHP实现》                 $md5 = substr($str,$i,1);

《Crypt加密算法的PHP实现》                 $i++;

《Crypt加密算法的PHP实现》                 $v.= (substr($str,$i,1) ^ $md5);

《Crypt加密算法的PHP实现》                }

《Crypt加密算法的PHP实现》                
return $v;

《Crypt加密算法的PHP实现》        }

《Crypt加密算法的PHP实现》

        
private function _ed($str,$key) {

《Crypt加密算法的PHP实现》            $r = md5($key);

《Crypt加密算法的PHP实现》            $c=0;

《Crypt加密算法的PHP实现》            $v = “”;

《Crypt加密算法的PHP实现》                    $len = strlen($str);

《Crypt加密算法的PHP实现》                    $l = strlen($r);

《Crypt加密算法的PHP实现》            
for ($i=0;$i<$len;$i++) {

《Crypt加密算法的PHP实现》                
if ($c==$l) $c=0;

《Crypt加密算法的PHP实现》                 $v.= substr($str,$i,1) ^ substr($r,$c,1);

《Crypt加密算法的PHP实现》                 $c++;

《Crypt加密算法的PHP实现》            }

《Crypt加密算法的PHP实现》            
return $v;

《Crypt加密算法的PHP实现》     }

《Crypt加密算法的PHP实现》}

《Crypt加密算法的PHP实现》
// 使用方式

《Crypt加密算法的PHP实现》$crypt =
new Crypt();

《Crypt加密算法的PHP实现》$
string = ‘hello leven’;

《Crypt加密算法的PHP实现》$key = ‘123456’;

《Crypt加密算法的PHP实现》$encode = $crypt->encrypt($
string,$key,
true);

《Crypt加密算法的PHP实现》$decode = $crypt->decrypt($encode,$key,
true);

《Crypt加密算法的PHP实现》echo $encode;

《Crypt加密算法的PHP实现》echo
“<br />”;

《Crypt加密算法的PHP实现》echo $decode;

《Crypt加密算法的PHP实现》?>

点赞