Maison  >  Article  >  php教程  >  php自制加密解密算法|php与运算加密解密|php与运算

php自制加密解密算法|php与运算加密解密|php与运算

PHP中文网
PHP中文网original
2016-05-22 18:26:59948parcourir


           

2. [代码][PHP]代码    

class CCEncode{
	
	public static $instance = NULL;
	
	public static function getInstance(){
		if(is_null(self::$instance)){
			self::$instance = new self;	
		}
		return self::$instance;
	}
	
	protected function getByte($data){
		$length = strlen($data);
		for($i = 0; $i < $length; $i ++){
			$tmpList[] = ord($data{$i});	
		}
		return $tmpList;
	}
	
	protected function getChar($data, $string = &#39;&#39;){
		$length = count($data);
		foreach($data as $value){
			$string .= chr($value);	
		}
		return $string;
	}
	
	public function encrypt($data, $key){
		$dataArr = $this->getByte($data);
		$keyArr = $this->getByte($key);
		$lengthA = count($dataArr);
		$lengthB = count($keyArr);
		for($i = 0; $i < $lengthA; $i ++){
			$tmpList[] = (0xFF & $dataArr[$i]) + (0xFF & $keyArr[$i % $lengthB]);
		}
		return implode(&#39;@&#39;, $tmpList);
	}
	
	public function decrypt($data, $key){
		$dataArr = explode(&#39;@&#39;, $data);
		$keyArr = $this->getByte($key);
		$lengthA = count($dataArr);
		$lengthB = count($keyArr);
		for($i = 0; $i < $lengthA; $i ++){
			$tmpList[] = $dataArr[$i] - (0xFF & $keyArr[$i % $lengthB]);
		}
		return $this->getChar($tmpList);
	}
		
}

           

       

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn