最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

php加解密怎么做

来源:动视网 责编:小采 时间:2020-11-27 15:20:41
文档

php加解密怎么做

php加解密怎么做:基于这几个函数可逆转的加密为:base64_encode()、urlencode()相对应的解密函数:base64_decode() 、urldecode() ,示例如下:1、第一种加密解密算法<php function encryptDecrypt($key, $string, $decrypt){ if(
推荐度:
导读php加解密怎么做:基于这几个函数可逆转的加密为:base64_encode()、urlencode()相对应的解密函数:base64_decode() 、urldecode() ,示例如下:1、第一种加密解密算法<php function encryptDecrypt($key, $string, $decrypt){ if(


基于这几个函数可逆转的加密为: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加解密怎么做

php加解密怎么做:基于这几个函数可逆转的加密为:base64_encode()、urlencode()相对应的解密函数:base64_decode() 、urldecode() ,示例如下:1、第一种加密解密算法<php function encryptDecrypt($key, $string, $decrypt){ if(
推荐度:
标签: 加密 如何 php
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top