当前位置:网站首页>百度URL参数之LINK?URL参数加密解密研究(代码实例)
百度URL参数之LINK?URL参数加密解密研究(代码实例)
2022-06-23 04:51:00 【刘星麟】
加密过程:
function _empty($param)
{
if (empty($param) && !is_numeric($param)) {
return true;
} else {
return false;
}
}
function encryption($domain) {
if (empty($domain)) return $domain;
//$ascii码表x,y位置
$ascii = [
[' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/'],
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?'],
['@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O'],
['P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_'],
['`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o'],
['p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', ' ']];
$data = [
[13, 10],
[10, 1],
[16, 15],
[7, 6],
[5, 13],
[18, 9],
[13, 11],
[7, 12],
[10, 5],
[15, 9],
[15, 9],
[13, 5],
[16, 11],
[0, 1],
[8, 2],
[8, 5],
[0, 0],
[17, 15],
[14, 8],
[2, 1],
[10, 5],
[17, 14],
[16, 5],
[3, 8],
[14, 9],
[5, 8],
[15, 1],
[3, 15],
[13, 10],
[10, 12],
[5, 7],
[0, 2],
[18, 14],
[0, 15],
[1, 6],
[13, 5],
[2, 1],
[15, 14],
[18, 8],
[18, 9],
[1, 10],
[14, 14],
[13, 2],
[5, 3],
[5, 8],
[0, 4],
[1, 5],
[16, 1],
[8, 1],
[2, 5],
[10, 7],
[10, 15],
[14, 14],
[17, 3],
[15, 0],
[14, 5],
[7, 7],
[3, 4],
[14, 8],
[12, 0],
[13, 12],
[12, 3],
[6, 5],
[3, 1],
[1, 14],
[5, 4],
[ 0, 12],
[7, 0],
[10, 7],
[15, 12],
[8, 2],
[18, 15],
[3, 12],
[1, 12],
[0, 15],
[17, 4],
[17, 2],
[11, 1],
[3, 12],
[11, 5],
[0, 13],
[1, 1],
[2, 12]];
//所有的y值
$y = [
'0123456789abcdef',
'1032547698badcfe',
'23016745ab89efcd',
'32107654ba98fedc',
'45670123cdef89ab',
'54761032dcfe98ba',
'67452301efcdab89',
'76543210fedcba98',
'89abcdef01234567',
'98badcfe10325476',
'ab89efcd23016745',
'ba98fedc32107654',
'cdef89ab45670123',
'dcfe98ba54761032',
'efcdab8967452301',
'fedcba9876543210'];
//所有的x值
$x = [
'016745',
'107654',
'234567',
'321076',
'325476',
'452301',
'543210',
'670123',
'765432',
'761032',
'89abcd',
'89efcd',
'98fedc',
'abcdef',
'badcfe',
'cdab89',
'dcba98',
'ef89ab',
'fe98ba'];
//解密过程
$len = strlen($domain);
$mi = '';
for($i=0; $i < $len; $i++) {
$ch = substr($domain,$i,1);
$f_real_x = '';
$f_real_y = '';
foreach ($ascii as $real_x=>$real_y_chs) {
foreach ($real_y_chs as $real_y=>$real_y_ch) {
if ($real_y_ch == $ch) {
$f_real_x = $real_x;
$f_real_y = $real_y;
break;
}
}
}
if (!_empty($f_real_x) && !_empty($f_real_y)) {
$this_data_x = $x[$data[$i][0]];
$encode_x = $this_data_x[$f_real_x];
$mi .= $encode_x;
$this_data_y = $y[$data[$i][1]];
$encode_y = $this_data_y[$f_real_y];
$mi .= $encode_y;
}
}
return 'http://www.baidu.com/link?url=a3f48d30fc293c5e471ef23de092fddc99'.$mi;
}
echo encryption('www.php.net');解密过程: 获取跳转后的地址 请参考这个 我就不写了
边栏推荐
- Day_10 传智健康项目-权限控制、图形报表
- Pyqt5 设置窗口左上角图标
- RF content learning
- Extend your kubernetes API using the aggregation API
- How to query fields separated by commas in MySQL as query criteria - find_ in_ Set() function
- Kotlin interface
- Introduction to JVM principle
- Visual studio debugging tips
- [open source project] excel export Lua configuration table tool
- 【Leetcode】431. Encode n-ary tree to binary tree (difficult)
猜你喜欢

Day_07 传智健康项目-Freemarker

又到半年总结时,IT人只想躺平

11、 Realization of textile fabric off shelf function

【Cocos2d-x】自定义环形菜单

程序员的真实想法 | 每日趣闻

Summary of ant usage (I): using ant to automatically package apk

【Vivado那些事儿】XilinxCEDStore介绍

Tcp/ip explanation (version 2) notes / 3 link layer / 3.4 bridge and switch

Learning Tai Chi Maker - esp8226 (11) distribution network with WiFi manager Library

Microsoft interview question: creases in origami printing
随机推荐
matplotlib savefig多个图片叠加问题
射频基础理论(dB)
SQL statement error caused by the same SQL table name and function name.
【已解决】“The Unity environment took too long to respond. Make sure that :\n“
Ant Usage Summary (II): description of related commands
求二叉树最宽的层有多少个节点
[focus on growth and build a dream for the future] - TDP year-end event, three chapters go to the Spring Festival!
Summary of ant usage (I): using ant to automatically package apk
Day_01 传智健康项目-项目概述和环境搭建
【DaVinci Developer专题】-41-APP SWC如何读取写入NVM Block数据
RF content learning
SSM project construction
Tcp/ip explanation (version 2) notes / 3 link layer / 3.3 full duplex, energy saving, automatic negotiation mechanism, 802.1x flow control / 3.3.3 link layer flow control
Learning Tai Chi Maker - esp8226 (11) distribution network with WiFi manager Library
How to batch produce QR codes that can be read online after scanning
Pat class B 1026 program running time
Pat class B 1015 C language
Paper notes: multi label learning lsml
Long substring without repeating characters for leetcode topic resolution
Kotlin collaboration +retro most elegant network request use
http://www.baidu.com/link?url=a3f48d30fc293c5e471ef23de092fddc99fdd688681db1fb62cb8c9d