PHP 加密解密处理类_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > PHP 加密解密处理类

PHP 加密解密处理类

 2018/1/1 17:16:35  onestopweb  程序员俱乐部  我要评论(0)
  • 摘要:<?phpclassSysCrypt{private$crypt_key;publicfunction__construct($crypt_key){$this->crypt_key=$crypt_key;}publicfunctionphp_encrypt($txt){srand((double)microtime()*1000000);$encrypt_key=md5(rand(0,32000));$ctr=0;$tmp='';for($i=0;$i<strlen
  • 标签:PHP 加密解密
class="php"><?php
class SysCrypt {
    private $crypt_key;
    
    public function __construct($crypt_key) {
        $this -> crypt_key = $crypt_key;
    }
    
    public function php_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 php_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('chaoyi');
$text = 'onestopweb';
print($sc -> php_encrypt($text));
print('<br>');
print($sc -> php_decrypt($sc -> php_encrypt($text)));

?

效果图:

?

?

?

?

?

?

?

?

?

?

?

  • 大小: 9.8 KB
  • test.rar (544 Bytes)
  • 下载次数: 0
  • 查看图片附件
发表评论
用户名: 匿名