`
fuerbosi
  • 浏览: 466186 次
文章分类
社区版块
存档分类
最新评论

paip.URL参数压缩64进制

 
阅读更多

paip.URL参数压缩64进制

有时候URL参数经过编码是16进制的,这样会比较长,可以使用64进制来压缩一下。。约可以减少30%。。。

比如admin,这个字串,经过加密后是D7D5E2DACF,增长了一倍。。我们可以用64进制来来压缩一下,得到的结果是19Xi2sP

主要过程是:
1.把此字串每三个分为一组,
2.然后每组转为64进制。。再连接起来就行了。
3.转码对照串来自于BASE64,不过考虑到URL传输的实际情况把最后两们+/变成了@$,这样就可以不用URL ENCODE就可以直接http传输。。

这里主要由ASP页面发起请求,PHP回应,所以编码是VBS写的,而解码是PHP写的..


------16进制转64过程(vbs)------
const BASE_64_MAP_INIT_L718 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@$"

''16进制转64进制
PUBLIC FUNCTION HEX64Encode(plain)

dim msgarr,newstr
msgarr=str2array_l718(plain,3)
for i=0 to ubound(msgarr)
dim numHex
numHex=msgarr(i)
dim newchar 'HEx64 format
newchar= tohex64(numHex)

newstr=newstr+cstr(newchar)
next
HEX64Encode = newstr
END FUNCTION


-----------------解码过程----------------

// ' 64进制转16进制
function HEX64Decode($num)
{
$msgarr=str_split($num,2);
$newstr="";

for($i=0;$i< count ($msgarr);$i++){
$v=$msgarr[$i];
$keychar=hex64Tohex($v);// 'encode char

$newstr=$newstr.$keychar;
}

return $newstr;

}
$BASE_64_MAP_INIT = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@$";

//单个数 ONLY
function hex64Tohex($num) { // Xi
global $BASE_64_MAP_INIT;
$BASE_64_MAP_INIT_arr = str_split ( $BASE_64_MAP_INIT );
$numarr = str_split ( $num );
$numDec=0;
if (count ( $numarr ) == 1) {
$first = $numarr [0];
$firstIndex = strpos ( $BASE_64_MAP_INIT, $first );
$numDec = $firstIndex;
} else {
$first = $numarr [0];
$sencond = $numarr [1];
$firstIndex = strpos ( $BASE_64_MAP_INIT, $first );
$sencondIndex = strpos ( $BASE_64_MAP_INIT, $sencond );
$firstNum = $firstIndex * 64;
$numDec = $firstNum + $sencondIndex;
}
$numHex = dechex ( $numDec );

return $numHex;
}

分享到:
评论

相关推荐

    么下么鱼密码

    相关博文 PHP加密解密类(密文只有大小写字母和数字),支持中文加密 ...jsp中文支持不好,请高手能补充下 ...PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文) paip.PHP zend解密—以SHOPEX4.8.4为例

    C#截屏功能

    paip.截屏功能流程说明 点击"开始截屏", 出现MASC层将下边的窗口灰掉 鼠标光标变成十字状态 单击鼠标,出现截屏窗口 调整截屏窗口位置与大小 双击,退出截屏窗口,MASC层退出..鼠标光标正常化

    LiverCancerSeg:MICCAI 2019病理学大挑战-PAIP2019

    下载幻灯片并解压缩下载所有50张压缩的幻灯片和两个csv文件,将它们放在./data/SourceData ,然后通过运行将其解压缩$ cd preprocess$ python unzip_slides.py所有幻灯片都将解压缩到./data/LiverImages 。...

    PAIP-开源

    PAIP(管道)是通用过滤器应用程序。 它使用插件来传输和转换数据。 它们可以嵌套,因此内部结构可能会变得非常复杂(非线性)。 命令行界面类似于编程语言,非常简单。

    paip-lisp:“人工智能编程范例”教科书的Lisp代码

    人工智能编程范例 这是Peter Norvig(1992)写的《人工智能程序设计范例:Common Lisp中的案例研究》一书的开放源代码存储库。 版权已归作者所有,作者已根据MIT许可在此处共享。 这本书 这本书有以下几种格式: ...

    paip-lisp-pt-br:Norvig的Traduçãopara oportuguêsdo“人工智能编程范例”

    人工智能编程范例(pt-br) 葡萄牙语编程入门(pt-br)做人工智能编程范式:彼得·诺维格(Peter Norvig,1992)的“普通Lisp案例研究” 。 在麻省理工学院就读的学生的自动授课资格。 VOCE颇得tambémquerer ...

    LearningRacket:学习球拍

    学习球拍Racket编程语言真是太神奇了! 我决定开始一个密集的自学课程以... 计算机程序的结构和解释(SICP) 人工智能编程(PAIP)的范例其他球拍库 -Racket中的一个简单IRC机器人Axio Framework -Racket的新生Web框架

    Paysandu Newtab-crx插件

    语言:português (Brasil) Bicolor,Paysandu带来的新星体验! ... 在网络上可以播放新照片,实时照片,视频,壁纸和...使jáo seu navegadorpadrãocom扩展到Paipãoenãoperca mais nada do MaiorCampeãodaAmazônia!

    CSharpPAIP:彼得·诺维格(Peter Norvig)的《人工智能编程范例》中的某些程序到C#的移植

    C夏普PAIP 这个项目的目的是使用C#浏览我最喜欢的书之一,( 的各章。 为什么? 我认为C#基本上是一个Lisp,没有宏,语法不一致和太多特殊形式。 为了向我自己证明这一点,我将在各章中进行研究,看看静态类型是否...

    los:LFE 对象系统

    更严重的是,最初的实现将取自 Peter Norvig 的 PAIP 第 13 章以及在 Clojure 中实现的想法。为什么是面向对象的? 归咎于; 他让我这样做。 但在之前,有,所以我想它不能全部放在他的脚下。 Peter Norvig 说得...

Global site tag (gtag.js) - Google Analytics