(JS實(shí)現(xiàn))MapBar中坐標(biāo)的加密和解密的腳本
不過(guò)對(duì)于Mapbar這樣處理的方法我個(gè)人覺(jué)得還是很值得學(xué)習(xí)的,至少不會(huì)給你明碼的坐標(biāo)。
不知道Mapbar的朋友看了會(huì)不會(huì)找我說(shuō)我那,呵呵,不過(guò)沒(méi)關(guān)系,最近想寫篇文章給你們些個(gè)人的小小的建議,覺(jué)得說(shuō)的不好也無(wú)妨。忙完這陣子就寫。
下面是Mapbar中的加密和解密部分的JS,我做了簡(jiǎn)單說(shuō)明了,什么36進(jìn)制又16進(jìn)制的,看的我也頭暈。
實(shí)例的結(jié)果是這樣的:
IJSDSBWVJABFA解密后的值:121.46979,31.23245
31.23245,121.46979加密后的值:IJSDSBZVJABFA
當(dāng)然你也可以用其他坐標(biāo)來(lái)測(cè)試和檢驗(yàn)。
友情提醒:Mapbar中的那個(gè)常量值可能已經(jīng)變動(dòng)了,用現(xiàn)在方法解出來(lái)的和百度的值是不一樣的。
下面的代碼復(fù)制后保存為網(wǎng)頁(yè)形式就可以看到效果。
Mapbar中的加密和解密(JS)
<script language="javascript">
//一個(gè)常量但變動(dòng)后加密解密的值會(huì)變動(dòng)
var strLicenseKey = 699;
//解密坐標(biāo)
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};
//解密坐標(biāo)的實(shí)例
document.write('這是IJSDSBWVJABFA解密后的值:<br>'+jiemi('IJSDSBWVJABFA')+'<br><br>');
//加密坐標(biāo)
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()
}
//加密實(shí)例
document.write('這是31.23245,121.46979加密后的值:<br>'+jiami('31.23245','121.46979'));
</script>
相關(guān)文章
JavaScript時(shí)間操作之年月日星期級(jí)聯(lián)操作
這篇文章主要介紹了JavaScript時(shí)間操作之級(jí)聯(lián)日期選擇操作,涉及到年、月、日、星期,感興趣的小伙伴們可以參考一下2016-01-01
Javascript查詢DBpedia小應(yīng)用實(shí)例學(xué)習(xí)
本文則嘗試?yán)肧PARQLWrapper.js來(lái)讀取DBpedia的數(shù)據(jù),并顯示出來(lái),感興趣的你可以參考下,或許對(duì)你有所幫助2013-03-03
基于JS實(shí)現(xiàn)簡(jiǎn)單的隨機(jī)抽取幸運(yùn)員工系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于HTML+JavaScript實(shí)現(xiàn)簡(jiǎn)單的隨機(jī)抽取幸運(yùn)員工系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-11-11
JAVASCRIPT代碼編寫俄羅斯方塊網(wǎng)頁(yè)版
俄羅斯方塊方塊是小時(shí)候的一個(gè)回憶,從最開(kāi)始的掌上的黑白游戲機(jī),到電視游戲機(jī),到電腦,無(wú)不有它的痕跡,今天我們來(lái)一起重溫它的一種實(shí)現(xiàn)方法,也算是整理一下我的思路吧,感興趣的小伙伴一起學(xué)習(xí)吧2015-11-11
JSP基于Bootstrap分頁(yè)顯示實(shí)例解析
這篇文章主要為大家詳細(xì)介紹了JSP基于Bootstrap分頁(yè)顯示實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06
教你JavaScript利用charAt()統(tǒng)計(jì)出現(xiàn)次數(shù)最多的字符和次數(shù)
這篇文章主要介紹了JavaScript利用charAt()統(tǒng)計(jì)出現(xiàn)次數(shù)最多的字符和次數(shù)的操作方法,本文以判斷一個(gè)字符串'aabcdobdackoppz'中出現(xiàn)次數(shù)最多的字符,并統(tǒng)計(jì)其次數(shù)為例,通過(guò)實(shí)例代碼給大家詳細(xì)介紹,需要的朋友參考下吧2021-08-08
簡(jiǎn)單實(shí)現(xiàn)JS對(duì)dom操作封裝
這篇文章主要介紹了簡(jiǎn)單實(shí)現(xiàn)JS對(duì)dom操作封裝,需要的朋友可以參考下2015-12-12
js自定義trim函數(shù)實(shí)現(xiàn)刪除兩端空格功能
這篇文章主要介紹了js自定義trim函數(shù)實(shí)現(xiàn)刪除兩端空格功能,結(jié)合實(shí)例形式分析了javascript基于正則替換實(shí)現(xiàn)類似trim函數(shù)刪除字符串兩端空格的相關(guān)操作技巧,并附帶jQuery類似功能函數(shù)使用方法,需要的朋友可以參考下2018-02-02
js實(shí)現(xiàn)的鼠標(biāo)滾輪滾動(dòng)切換頁(yè)面效果(類似360默認(rèn)頁(yè)面滾動(dòng)切換效果)
這篇文章主要介紹了js實(shí)現(xiàn)的鼠標(biāo)滾輪滾動(dòng)切換頁(yè)面效果,類似360默認(rèn)頁(yè)面滾動(dòng)切換效果.涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)變換頁(yè)面元素的相關(guān)技巧,需要的朋友可以參考下2016-01-01

