php 加密解密类(含公钥)
?
ECTouch是上海商创网络科技有限公司推出的一套基于 PHP 和 MySQL 数据库构建的开源且易于使用的移动商城网店系统!应用于各种服务器平台的高效、快速和易于管理的网店解决方案,采用稳定的MVC框架开发,完美对接ecshop系统与模板堂众多模板,为中小企业提供最佳的移动电商解决方案。ECTouch程序源代码完全无加密。安装时只需将已集成的文件夹放进指定位置,通过浏览器访问一键安装,无需对已有
0
<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怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号