最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Js base64 加密解密介紹

 更新時(shí)間:2013年10月11日 14:45:29   作者:  
想必大家對(duì)base64并不陌生吧,在本文將為大家介紹下Js中的base64加密解密過(guò)程,感興趣的朋友不要錯(cuò)過(guò)
復(fù)制代碼 代碼如下:

<script type="text/javascript">

var base64encodechars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var base64decodechars = new Array(
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);

function base64encode(str) {
var out, i, len;
var c1, c2, c3;
len = str.length;
i = 0;
out = "";
while (i < len) {
c1 = str.charCodeAt(i++) & 0xff;
if (i == len) {
out += base64encodechars.charAt(c1 >> 2);
out += base64encodechars.charAt((c1 & 0x3) << 4);
out += "==";
break;
}
c2 = str.charCodeAt(i++);
if (i == len) {
out += base64encodechars.charAt(c1 >> 2);
out += base64encodechars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));
out += base64encodechars.charAt((c2 & 0xf) << 2);
out += "=";
break;
}
c3 = str.charCodeAt(i++);
out += base64encodechars.charAt(c1 >> 2);
out += base64encodechars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));
out += base64encodechars.charAt(((c2 & 0xf) << 2) | ((c3 & 0xc0) >> 6));
out += base64encodechars.charAt(c3 & 0x3f);
}
return out;
}

function base64decode(str) {
var c1, c2, c3, c4;
var i, len, out;

len = str.length;

i = 0;
out = "";
while (i < len) {

do {
c1 = base64decodechars[str.charCodeAt(i++) & 0xff];
} while (i < len && c1 == -1);
if (c1 == -1)
break;

do {
c2 = base64decodechars[str.charCodeAt(i++) & 0xff];
} while (i < len && c2 == -1);
if (c2 == -1)
break;

out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));

do {
c3 = str.charCodeAt(i++) & 0xff;
if (c3 == 61)
return out;
c3 = base64decodechars[c3];
} while (i < len && c3 == -1);
if (c3 == -1)
break;

out += String.fromCharCode(((c2 & 0xf) << 4) | ((c3 & 0x3c) >> 2));

do {
c4 = str.charCodeAt(i++) & 0xff;
if (c4 == 61)
return out;
c4 = base64decodechars[c4];
} while (i < len && c4 == -1);
if (c4 == -1)
break;
out += String.fromCharCode(((c3 & 0x03) << 6) | c4);
}
return out;
}
</script>

相關(guān)文章

  • js+canvas繪制矩形的方法

    js+canvas繪制矩形的方法

    這篇文章主要介紹了js+canvas繪制矩形的方法,涉及JavaScript調(diào)用html5的canvas組件繪制圖形的相關(guān)技巧,需要的朋友可以參考下
    2016-01-01
  • 解決layui上傳文件提示上傳異常,實(shí)際文件已經(jīng)上傳成功的問(wèn)題

    解決layui上傳文件提示上傳異常,實(shí)際文件已經(jīng)上傳成功的問(wèn)題

    今天小編就為大家分享一篇解決layui上傳文件提示上傳異常,實(shí)際文件已經(jīng)上傳成功的問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • JavaScript DOM操作與事件處理方法

    JavaScript DOM操作與事件處理方法

    本文通過(guò)一系列代碼片段,詳細(xì)介紹了如何使用JavaScript進(jìn)行DOM操作、事件處理、屬性操作、內(nèi)容操作、尺寸和位置獲取,以及實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫效果,涵蓋了基礎(chǔ)和高級(jí)技術(shù)點(diǎn),適合初學(xué)者和進(jìn)階開發(fā)者,感興趣的朋友一起看看吧
    2025-01-01
  • uniapp中實(shí)現(xiàn)canvas超出屏幕滾動(dòng)查看功能

    uniapp中實(shí)現(xiàn)canvas超出屏幕滾動(dòng)查看功能

    親愛(ài)的小伙伴,當(dāng)你需要在uniapp中使用canvas繪制一個(gè)超長(zhǎng)圖,就類似于橫向的流程圖時(shí),這個(gè)canvas超出屏幕部分拖動(dòng)屏幕查看會(huì)變得十分棘手,怎么解決這個(gè)問(wèn)題呢,下面小編給大家介紹uniapp中實(shí)現(xiàn)canvas超出屏幕滾動(dòng)查看功能,感興趣的朋友一起看看吧
    2024-03-03
  • 原生Js 實(shí)現(xiàn)的簡(jiǎn)單無(wú)縫滾動(dòng)輪播圖的示例代碼

    原生Js 實(shí)現(xiàn)的簡(jiǎn)單無(wú)縫滾動(dòng)輪播圖的示例代碼

    這篇文章主要介紹了原生Js 實(shí)現(xiàn)的簡(jiǎn)單無(wú)縫滾動(dòng)輪播圖的示例代碼,幫助大家更好的理解喝學(xué)習(xí)使用js,感興趣的朋友可以了解下
    2021-05-05
  • JavaScript實(shí)現(xiàn)字符串轉(zhuǎn)字符數(shù)組的兩種方式

    JavaScript實(shí)現(xiàn)字符串轉(zhuǎn)字符數(shù)組的兩種方式

    在 JavaScript 的編程世界里,字符串和數(shù)組是極為常見(jiàn)的數(shù)據(jù)類型,在實(shí)際開發(fā)中,我們常常會(huì)遇到需要將字符串轉(zhuǎn)換為字符數(shù)組的情況,接下來(lái),我們將深入探討如何使用 JavaScript 實(shí)現(xiàn)這一轉(zhuǎn)換,同時(shí)結(jié)合代碼示例詳細(xì)分析不同方法的特點(diǎn),需要的朋友可以參考下
    2025-04-04
  • js實(shí)現(xiàn)的點(diǎn)擊數(shù)量加一可操作數(shù)據(jù)庫(kù)

    js實(shí)現(xiàn)的點(diǎn)擊數(shù)量加一可操作數(shù)據(jù)庫(kù)

    這篇文章主要介紹了js如何實(shí)現(xiàn)的點(diǎn)擊數(shù)量加一操作數(shù)據(jù)庫(kù),需要的朋友可以參考下
    2014-05-05
  • JavaScript復(fù)制內(nèi)容到剪貼板的兩種常用方法

    JavaScript復(fù)制內(nèi)容到剪貼板的兩種常用方法

    最近一個(gè)活動(dòng)頁(yè)面中有一個(gè)小需求,用戶點(diǎn)擊或者長(zhǎng)按就可以復(fù)制內(nèi)容到剪貼板,記錄一下實(shí)現(xiàn)過(guò)程和遇到的坑,需要的朋友可以參考下
    2018-02-02
  • 詳解JavaScript中的this硬綁定

    詳解JavaScript中的this硬綁定

    這篇文章主要為大家詳細(xì)介紹了JavaScript中的this顯示綁定和硬綁定,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以了解一下
    2022-10-10
  • JS加密插件CryptoJS實(shí)現(xiàn)的Base64加密示例

    JS加密插件CryptoJS實(shí)現(xiàn)的Base64加密示例

    這篇文章主要介紹了JS加密插件CryptoJS實(shí)現(xiàn)的Base64加密,結(jié)合實(shí)例形式分析了CryptoJS進(jìn)行base64加密的簡(jiǎn)單實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-08-08

最新評(píng)論

彝良县| 自治县| 华容县| 安远县| 敦煌市| 山西省| 荆门市| 剑阁县| 綦江县| 林周县| 马龙县| 凤山市| 察哈| 宜兰县| 平山县| 温宿县| 泸西县| 衡南县| 太湖县| 新河县| 屯昌县| 郸城县| 锡林浩特市| 施甸县| 贵州省| 界首市| 桐柏县| 尉犁县| 海淀区| 兴国县| 横峰县| 扶沟县| 贞丰县| 乌什县| 手游| 凤凰县| 曲阜市| 仲巴县| 石柱| 玉田县| 怀远县|