频道栏目
首页 > 程序开发 > Web开发 > php > 正文
PHP模拟百度URL加密解密算法(代码实例)
2018-06-06 10:35:20      个评论    来源:微信域名检测,微信免接口分享 - LEO的博客  
收藏   我要投稿

PHP模拟百度URL加密解密算法(代码实例)

<?php  
$time = time().rand(1000,9999);  
$data = "{$time}###https://www.xxweixin.com";        // 被加密信息    
$key = '123';                   // 密钥    
$encrypt = encrypt($data, $key);    
$decrypt = decrypt($encrypt, $key);    
echo $encrypt, "\n", $decrypt;   
  
  
function encrypt($data, $key)    
{    
    $key    =   md5($key);    
    $x      =   0;    
    $len    =   strlen($data);    
    $l      =   strlen($key);    
    for ($i = 0; $i < $len; $i++)    
    {    
        if ($x == $l)     
        {    
            $x = 0;    
        }    
        $char .= $key{$x};    
        $x++;    
    }    
    for ($i = 0; $i < $len; $i++)    
    {    
        $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);    
    }    
    return base64_encode($str);    
}  
  
function decrypt($data, $key)    
{    
    $key = md5($key);    
    $x = 0;    
    $data = base64_decode($data);    
    $len = strlen($data);    
    $l = strlen($key);    
    for ($i = 0; $i < $len; $i++)    
    {    
        if ($x == $l)     
        {    
            $x = 0;    
        }    
        $char .= substr($key, $x, 1);    
        $x++;    
    }    
    for ($i = 0; $i < $len; $i++)    
    {    
        if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))    
        {    
            $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));    
        }    
        else    
        {    
            $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));    
        }    
    }    
    return $str;    
}   
点击复制链接 与好友分享!回本站首页
上一篇:LAMP架构学习之限定目录禁止解析php,限制user_agent,php相关配置讲解
下一篇:&符 php中引用分析(代码实例)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站