(JS实现)MapBar中坐标的加密和解密的脚本

因为有一朋友问起这个问题,我找了下,今天就发出来看看吧,不知道说的对不对。
不过对于Mapbar这样处理的方法我个人觉得还是很值得学习的,至少不会给你明码的坐标。
不知道Mapbar的朋友看了会不会找我说我那,呵呵,不过没关系,最近想写篇文章给你们些个人的小小的建议,觉得说的不好也无妨。忙完这阵子就写。

下面是Mapbar中的加密和解密部分的JS,我做了简单说明了,什么36进制又16进制的,看的我也头晕。
实例的结果是这样的:
IJSDSBWVJABFA解密后的值:121.46979,31.23245
31.23245,121.46979加密后的值:IJSDSBZVJABFA
当然你也可以用其他坐标来测试和检验。
友情提醒:Mapbar中的那个常量值可能已经变动了,用现在方法解出来的和百度的值是不一样的。
下面的代码复制后保存为网页形式就可以看到效果。

Mapbar中的加密和解密(JS)


代码如下:

<script language="javascript"> 
//一个常量但变动后加密解密的值会变动 
var strLicenseKey = 699; 
//解密坐标 
function jiemi(meT){ 
var W7pj=-1; 
var I524S=0; 
var qk_X=''; 
for(var i=0;i<meT.length;i++){var j86T=parseInt(meT.charAt(i),36)-10; 
if(j86T>=10)j86T=j86T-7;qk_X+=(j86T).toString(36); 
if(j86T>I524S){W7pj=i;I524S=j86T}}var U8T=parseInt(qk_X.substring(0,W7pj),16); 
var f9v8D=parseInt(qk_X.substring(W7pj+1),16); 
var H1433=new Array(); 
H1433[0]=(U8T+f9v8D-parseInt(strLicenseKey))/2; 
H1433[1]=(f9v8D-H1433[0])/100000.0; 
H1433[0]/=100000.0; 
return H1433}; 
//解密坐标的实例 
document.write('这是IJSDSBWVJABFA解密后的值:<br>'+jiemi('IJSDSBWVJABFA')+'<br><br>'); 
//加密坐标 
function jiami(e53,B92_) 
    { 
        var WVd94=parseInt(parseFloat(e53)*100000); 
        var j7_2=parseInt(parseFloat(B92_)*100000); 
        var rpB=(j7_2-WVd94+parseInt(strLicenseKey)).toString(16); 
        var ie9=(j7_2+WVd94).toString(16); 
        var H1433=''; 
        for(var i=0;i<rpB.length;i++) 
        { 
            var k6A36=parseInt(rpB.charAt(i),16); 
            H1433+=(((k6A36>=10)?(k6A36+7):k6A36)+10).toString(36) 
        } 
        H1433+='z'; 
        for(var i=0;i<ie9.length;i++) 
        { 
            var k6A36=parseInt(ie9.charAt(i),16); 
            H1433+=(((k6A36>=10)?(k6A36+7):k6A36)+10).toString(36) 
        } 
        return H1433.toUpperCase() 
    } 
//加密实例 
document.write('这是31.23245,121.46979加密后的值:<br>'+jiami('31.23245','121.46979'));     
</script>

(0)

相关推荐

  • (JS实现)MapBar中坐标的加密和解密的脚本

    因为有一朋友问起这个问题,我找了下,今天就发出来看看吧,不知道说的对不对. 不过对于Mapbar这样处理的方法我个人觉得还是很值得学习的,至少不会给你明码的坐标. 不知道Mapbar的朋友看了会不会找我说我那,呵呵,不过没关系,最近想写篇文章给你们些个人的小小的建议,觉得说的不好也无妨.忙完这阵子就写. 下面是Mapbar中的加密和解密部分的JS,我做了简单说明了,什么36进制又16进制的,看的我也头晕. 实例的结果是这样的: IJSDSBWVJABFA解密后的值:121.46979,31.23

  • JAVA中AES对称加密和解密过程

    AES对称加密和解密代码详细介绍,供大家参考,具体内容如下 package demo.security; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom;

  • python中的RSA加密与解密实例解析

    这篇文章主要介绍了python RSA加密与解密实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 什么是RSA: RSA公开密钥密码体制.所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种"由已知加密密钥推导出解密密钥在计算上是不可行的"密码体制. 在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的.加密算法E和解密算法D也都是公开的.虽然解密密钥SK是由公开密钥PK

  • C#中Web.Config加密与解密的方法

    Web.Config,其中一部分配置如下: 复制代码 代码如下: <appSettings>    <add key="EricTest" value="EricTest"/>    <add key="Encrypt" value="Encrypt value"/>  <appSettings> <connectionStrings >    <add nam

  • js实现获取div坐标的方法

    本文实例讲述了js实现获取div坐标的方法.分享给大家供大家参考,具体如下: html中最常使用的控件就是div了,那么如何获取div的坐标呢? 如下方法可以实现: /*** * 获取div的坐标 * @param divObj * @returns {{width: number, height: number, left: *, top: Window}} */ com.whuang.hsj.divCoordinate=function(divObj){ if(typeof divObj =

  • javascript将url中的参数加密解密代码

    今天在做一个老项目时,遇到一个需求,在javascript将url中的参数加密解密,从网上找发现了这段有用的代码: 复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript">    <!-- Begin    function Encrypt(str, pwd) {        if(str=="")return "";        str = escape(str);        if(!pwd

  • 在vue项目中使用md5加密的方法

    npm安装: npm install --save js-md5 1.在需要使用的项目文件中引入: import md5 from 'js-md5'; 使用: md5('hello world')  // 5eb63bbbe01eeed093cb22bb8f5acdc3 2.或者在main.js文件中将md5转换成vue原型: import md5 from 'js-md5'; Vue.prototype.$md5 = md5; 使用: this.$md5('hello world') // 5

  • js将URL网址转为16进制加密与解密函数

    十六进制(Hexadecimal)是计算机中数据的一种表示方法.同日常生活中的表示法不一样,它由0-9,A-F组成,字母不区分大小写.与10进制的对应关系是:0-9对应0-9:A-F对应10-15:N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F.不同电脑系统.编程语言对于16进制数值有不同的表示方式:如增加0x前缀. 这里推荐一个在线转换的小工具方便大家使用:http://tools.jb51.net/transcoding/decode_encode_tool php函数: bi

  • python+JS 实现逆向 SMZDM 的登录加密

    目录 实战场景 参数分析 实战场景 这次被我们盯上的平台是[SMZDM]. 本次目标站点是:aHR0cHM6Ly93d3cuc216ZG0uY29tLw==. 正式开始前,先注册一个账号,然后模拟一下登录,看一下有哪些参数被偷偷的藏起来了~ 当看到登录之后的所有请求参数时,我们还是默默的把站点关闭,撤吧. 从上图可以看到username,password是重要加密区,geetest_开头的参数是下述点选验证码涉及的内容,本阶段不做拆解,可以持续关注后续验证码部分逻辑. 登录的点选验证码可以先忽略

  • Vue.js 2.0中select级联下拉框实例

    在网上搜索了Vuejs2.0 动态级联select许久未果,决定自己总结一下自己的经验,有关select在Vue.js 2.0版本中的应用.首先我先说一下的我使用的技术,我参考了网上成熟的经验,选择以Vue.js 2.0+Vue-router+Vuex的全家桶. select首先要区分单选和多选,v-model在select单选和多选上有区别.     select单选实例: <select v-model="fruit"> <option selected valu

随机推荐