各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > PHP

php加解密怎么做

管理员 2023-09-05
PHP
123

php加解密怎么做

内容导读

收集整理的这篇技术教程文章主要介绍了php加解密怎么做,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3040字,纯文字阅读大概需要5分钟

内容图文

基于这几个函数可逆转的加密为:base64_encode()urlencode()相对应的解密函数:base64_decode()urldecode() ,示例如下:

1、第一种加密解密算法

<?php  function encryptDecrypt($key, $string, $decrypt){       if($decrypt){           $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12");           return $decrypted;       }else{           $encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));           return $encrypted;       }   }   //加密:"z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk="  echo encryptDecrypt('password', 'Helloweba欢迎您',0);   //解密:"Helloweba欢迎您"  echo encryptDecrypt('password', 'z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=',1);  ?>

2、第二种解密解密算法

<?php  //加密函数  function lock_url($txt,$key='www.xxxx.com'){      $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+";      $nh = rand(0,64);      $ch = $chars[$nh];      $mdKey = md5($key.$ch);      $mdKey = substr($mdKey,$nh%8, $nh%8+7);      $txt = base64_encode($txt);      $tmp = '';      $i=0;$j=0;$k = 0;      for ($i=0; $i<strlen($txt); $i++) {          $k = $k == strlen($mdKey) ? 0 : $k;          $j = ($nh+strpos($chars,$txt[$i])+ord($mdKey[$k++]))%64;          $tmp .= $chars[$j];      }      return urlencode($ch.$tmp);  }  //解密函数  function unlock_url($txt,$key='www.xxxx.com'){      $txt = urldecode($txt);      $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+";      $ch = $txt[0];      $nh = strpos($chars,$ch);      $mdKey = md5($key.$ch);      $mdKey = substr($mdKey,$nh%8, $nh%8+7);      $txt = substr($txt,1);      $tmp = '';      $i=0;$j=0; $k = 0;      for ($i=0; $i<strlen($txt); $i++) {          $k = $k == strlen($mdKey) ? 0 : $k;          $j = strpos($chars,$txt[$i])-$nh - ord($mdKey[$k++]);          while ($j<0) $j+=64;          $tmp .= $chars[$j];      }      return base64_decode($tmp);  }  ?>

3、第三种加密解密算法

<?php  //改进后的算法  //加密函数  function lock_url($txt,$key='test'){      $txt = $txt.$key;      $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+";      $nh = rand(0,64);      $ch = $chars[$nh];      $mdKey = md5($key.$ch);      $mdKey = substr($mdKey,$nh%8, $nh%8+7);      $txt = base64_encode($txt);      $tmp = '';      $i=0;$j=0;$k = 0;      for ($i=0; $i<strlen($txt); $i++) {          $k = $k == strlen($mdKey) ? 0 : $k;          $j = ($nh+strpos($chars,$txt[$i])+ord($mdKey[$k++]))%64;          $tmp .= $chars[$j];      }      return urlencode(base64_encode($ch.$tmp));  }  //解密函数  function unlock_url($txt,$key='test'){      $txt = base64_decode(urldecode($txt));      $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+";      $ch = $txt[0];      $nh = strpos($chars,$ch);      $mdKey = md5($key.$ch);      $mdKey = substr($mdKey,$nh%8, $nh%8+7);      $txt = substr($txt,1);      $tmp = '';      $i=0;$j=0; $k = 0;      for ($i=0; $i<strlen($txt); $i++) {          $k = $k == strlen($mdKey) ? 0 : $k;          $j = strpos($chars,$txt[$i])-$nh - ord($mdKey[$k++]);          while ($j<0) $j+=64;          $tmp .= $chars[$j];      }      return trim(base64_decode($tmp),$key);  }  ?>

对于不同需要,可以使用不同加密解密算法。

推荐教程:PHP视频教程

以上就是php加解密怎么做的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php加解密怎么做全部内容,希望文章能够帮你解决php加解密怎么做所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 lecms, classcms, fastadmin, pbootcms, phpcms, eyoucms, yzmcms, PHP, xunruicms, jizhicms, dedecms, wordpress, hkcms, yzncms, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

扫码关注

qrcode

QQ交谈

回顶部