Home  >  Article  >  php教程  >  实用的PHP带公钥加密类分享(每次加密结果都不一样哦)

实用的PHP带公钥加密类分享(每次加密结果都不一样哦)

WBOY
WBOYOriginal
2016-06-06 20:19:201557browse

这篇文章主要介绍了实用的PHP带公钥加密类分享,本类实现每次的加密结果都不一样,但解密没有问题,非常实用的一个加密类,需要的朋友可以参考下

WEB交互安全一直是个各大网站的首要解决方案,本文介绍的PHP加密类非常实用哦,,带有公钥,这是最大的亮点,没有公钥是不能解密的,加密度非常高。

类代码:

key; } srand((double)microtime()*1000000); $encrypt_key = md5(rand(0,32000)); $ctr=0; $tmp = ''; for ($i=0;$ikeyED($tmp,$key); } public function decrypt($txt,$key=''){ if(empty($key)){ $key=$this->key; } $txt = $this->keyED($txt,$key); $tmp = ''; for ($i=0;$ikey=$key; } public function getPK(){ return $this->key; } }

使用方法:

setKey('qttc'); // 加密字符串 $enc = $jiami->encrypt($string,$jiami->getPK()); // 解密字符串 $dec = $jiami->decrypt($enc,$jiami->getPK()); echo ''; echo '加密前 : '.$string .'
'; echo '加密后 : '.$enc .'
'; echo '解密后 : '.$dec; ?>

页面执行结果

结果1:

结果2:

由以上结果可以看到,每次加密产生的加密字符串都不一样,这是随机的。
解密的时候,需要使用加密时的公钥,否则无法解密。如你这边加密公钥使用‘qttc',解密的时候,也需要使用这个'qttc'作为公钥去解密,否则无法解密。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn