实用的服务器端编程语言(专业超文本预处理器的缩写)带公钥加密类分享(每次加密结果都不一样哦)
网交互安全一直是个各大网站的首要解决方案,本文介绍的服务器端编程语言(专业超文本预处理器的缩写)加密类非常实用哦,带有公钥,这是最大的亮点,没有公钥是不能解密的,加密度非常高。
类代码:
?php/** * PHP加密类* 琼台博客*/类嘉米{ //公钥受保护的$ key=' leeprivate函数KeY($ txt,$ encrypt _ KeY){ $ encrypt _ KeY=MD5($ encrypt _ KeY);$ CTR=0;$ tmp=for($ I=0;$ is tren($ txt);$ I){ if($ CTR==strlen($ encrypt _ key)){ $ CTR=0;} $tmp .=substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);$ ctr}返回$ tmp}公共函数encrypt($txt,$ key=' '){ if(empty($ key)){ $ key=$ this-key;} srand((双)微时间()* 1000000);$encrypt_key=md5(rand(0,32000));$ CTR=0;$ tmp=for($ I=0;$ is tren($ 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}返回$ this-KeY($ tmp,$ KeY);} public function decrypt($txt,$ key=' '){ if(empty($ key)){ $ key=$ this-key;} $ txt=$ this-KeY($ txt,$ KeY);$ tmp=for($ I=0;$ is tren($ txt);$i ){ $md5=substr($txt,$i,1);$ I;$tmp .=(substr($txt,$i,1)^ $ MD5);}返回$ tmp}公共函数setKey($ key){ if(empty($ key)){ return null;} $ this-key=$ key;} public function GetPk(){ return $ this-key;} }使用方法:
?php/先包含加密类require _ once(' jiam。上课。PHP’);//要加密的字符串$ string='//www .JB 51。net ';//实例化加密类$ jiami=新甲米();//设置公钥$ Jimi-SetKey(' qttc ');//加密字符串$enc=$jiami-encrypt($string,$ jiam I-GetPk());//解密字符串$ dec=$ Jimi-decrypt($ enc,$ Jimi-GetPk());echo ' meta charset=' utf-8 '/';"回声"加密前: '.$string .br/';"回声"加密后: '.$enc .br/';"回声"解密后: '.12美元?页面执行结果
结果1:
结果2:
由以上结果可以看到,每次加密产生的加密字符串都不一样,这是随机的。解密的时候,需要使用加密时的公钥,否则无法解密。如你这边加密公钥使用qttc ',解密的时候,也需要使用这个qttc '作为公钥去解密,否则无法解密。
版权声明:实用的服务器端编程语言(专业超文本预处理器的缩写)带公钥加密类分享(每次加密结果都不一样哦)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。