> 백엔드 개발 > PHP 튜토리얼 > php 加密解密种(含公钥)

php 加密解密种(含公钥)

WBOY
풀어 주다: 2016-06-13 10:49:59
원래의
1246명이 탐색했습니다.

php 加密解密类(含公钥)

?

<span><span><?php class  Crypt{ protected $key = "";    //公钥 private function keyED($txt,$encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr=0; $tmp = ""; for ($i=0;$i<strlen($txt);$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<strlen($txt);$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<strlen($txt);$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; } } $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 <br/>\n"; echo </span>"加密后 : $enc_text <br/>\n</span>"; <span><span>echo </span>"解密后 : $dec_text \n</span>"; <span><span>?> </span></span>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿