(JS实现)MapBar中坐标的加密和解密的脚本
(JS实现)MapBar中坐标的加密和解密的脚本
发布时间:2016-12-30 来源:查字典编辑
摘要:因为有一朋友问起这个问题,我找了下,今天就发出来看看吧,不知道说的对不对。不过对于Mapbar这样处理的方法我个人觉得还是很值得学习的,至少...

因为有一朋友问起这个问题,我找了下,今天就发出来看看吧,不知道说的对不对。

不过对于Mapbar这样处理的方法我个人觉得还是很值得学习的,至少不会给你明码的坐标。

不知道Mapbar的朋友看了会不会找我说我那,呵呵,不过没关系,最近想写篇文章给你们些个人的小小的建议,觉得说的不好也无妨。忙完这阵子就写。

下面是Mapbar中的加密和解密部分的JS,我做了简单说明了,什么36进制又16进制的,看的我也头晕。

实例的结果是这样的:

IJSDSBWVJABFA解密后的值:121.46979,31.23245

31.23245,121.46979加密后的值:IJSDSBZVJABFA

当然你也可以用其他坐标来测试和检验。

友情提醒:Mapbar中的那个常量值可能已经变动了,用现在方法解出来的和百度的值是不一样的。

下面的代码复制后保存为网页形式就可以看到效果。

Mapbar中的加密和解密(JS)

复制代码 代码如下:

<scriptlanguage="javascript">

//一个常量但变动后加密解密的值会变动

varstrLicenseKey=699;

//解密坐标

functionjiemi(meT){

varW7pj=-1;

varI524S=0;

varqk_X='';

for(vari=0;i<meT.length;i++){varj86T=parseInt(meT.charAt(i),36)-10;

if(j86T>=10)j86T=j86T-7;qk_X+=(j86T).toString(36);

if(j86T>I524S){W7pj=i;I524S=j86T}}varU8T=parseInt(qk_X.substring(0,W7pj),16);

varf9v8D=parseInt(qk_X.substring(W7pj+1),16);

varH1433=newArray();

H1433[0]=(U8T+f9v8D-parseInt(strLicenseKey))/2;

H1433[1]=(f9v8D-H1433[0])/100000.0;

H1433[0]/=100000.0;

returnH1433};

//解密坐标的实例

document.write('这是IJSDSBWVJABFA解密后的值:<br>'+jiemi('IJSDSBWVJABFA')+'<br><br>');

//加密坐标

functionjiami(e53,B92_)

{

varWVd94=parseInt(parseFloat(e53)*100000);

varj7_2=parseInt(parseFloat(B92_)*100000);

varrpB=(j7_2-WVd94+parseInt(strLicenseKey)).toString(16);

varie9=(j7_2+WVd94).toString(16);

varH1433='';

for(vari=0;i<rpB.length;i++)

{

vark6A36=parseInt(rpB.charAt(i),16);

H1433+=(((k6A36>=10)?(k6A36+7):k6A36)+10).toString(36)

}

H1433+='z';

for(vari=0;i<ie9.length;i++)

{

vark6A36=parseInt(ie9.charAt(i),16);

H1433+=(((k6A36>=10)?(k6A36+7):k6A36)+10).toString(36)

}

returnH1433.toUpperCase()

}

//加密实例

document.write('这是31.23245,121.46979加密后的值:<br>'+jiami('31.23245','121.46979'));

</script>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类