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

JS實(shí)現(xiàn)的base64加密解密操作示例

 更新時(shí)間:2018年04月18日 11:41:15   作者:包子源  
這篇文章主要介紹了JS實(shí)現(xiàn)的base64加密解密操作,結(jié)合實(shí)例形式分析了基于javascript的base64加密與解密函數(shù)定義與使用相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JS實(shí)現(xiàn)的base64加密解密操作。分享給大家供大家參考,具體如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>js base64加密解密</title>
</head>
<body>
<script>
// 創(chuàng)建Base64對象
var Base64 = {
 _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
 encode: function(e) {
  var t = "";
  var n, r, i, s, o, u, a;
  var f = 0;
  e = Base64._utf8_encode(e);
  while (f < e.length) {
   n = e.charCodeAt(f++);
   r = e.charCodeAt(f++);
   i = e.charCodeAt(f++);
   s = n >> 2;
   o = (n & 3) << 4 | r >> 4;
   u = (r & 15) << 2 | i >> 6;
   a = i & 63;
   if (isNaN(r)) {
    u = a = 64
   } else if (isNaN(i)) {
    a = 64
   }
   t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a)
  }
  return t
 },
 decode: function(e) {
  var t = "";
  var n, r, i;
  var s, o, u, a;
  var f = 0;
  e=e.replace(/[^A-Za-z0-9+/=]/g,"");
  while (f < e.length) {
   s = this._keyStr.indexOf(e.charAt(f++));
   o = this._keyStr.indexOf(e.charAt(f++));
   u = this._keyStr.indexOf(e.charAt(f++));
   a = this._keyStr.indexOf(e.charAt(f++));
   n = s << 2 | o >> 4;
   r = (o & 15) << 4 | u >> 2;
   i = (u & 3) << 6 | a;
   t = t + String.fromCharCode(n);
   if (u != 64) {
    t = t + String.fromCharCode(r)
   }
   if (a != 64) {
    t = t + String.fromCharCode(i)
   }
  }
  t = Base64._utf8_decode(t);
  return t
 },
 _utf8_encode: function(e) {
  e = e.replace(/rn/g, "n");
  var t = "";
  for (var n = 0; n < e.length; n++) {
   var r = e.charCodeAt(n);
   if (r < 128) {
    t += String.fromCharCode(r)
   } else if (r > 127 && r < 2048) {
    t += String.fromCharCode(r >> 6 | 192);
    t += String.fromCharCode(r & 63 | 128)
   } else {
    t += String.fromCharCode(r >> 12 | 224);
    t += String.fromCharCode(r >> 6 & 63 | 128);
    t += String.fromCharCode(r & 63 | 128)
   }
  }
  return t
 },
 _utf8_decode: function(e) {
  var t = "";
  var n = 0;
  var r = c1 = c2 = 0;
  while (n < e.length) {
   r = e.charCodeAt(n);
   if (r < 128) {
    t += String.fromCharCode(r);
    n++
   } else if (r > 191 && r < 224) {
    c2 = e.charCodeAt(n + 1);
    t += String.fromCharCode((r & 31) << 6 | c2 & 63);
    n += 2
   } else {
    c2 = e.charCodeAt(n + 1);
    c3 = e.charCodeAt(n + 2);
    t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63);
    n += 3
   }
  }
  return t
 }
}
// 定義字符串
var string = 'Hello World!';
// 加密
var encodedString = Base64.encode(string);
console.log(encodedString); // 輸出: "SGVsbG8gV29ybGQh"
// 解密
var decodedString = Base64.decode(encodedString);
console.log(decodedString); // 輸出: "Hello World!"
</script>
</body>
</html>

運(yùn)行結(jié)果:

PS:這里再推薦幾款加密解密相關(guān)在線工具供大家參考使用:

在線編碼轉(zhuǎn)換工具(utf-8/utf-32/Punycode/Base64):
http://tools.jb51.net/transcoding/decode_encode_tool

BASE64編碼解碼工具:
http://tools.jb51.net/transcoding/base64

圖片轉(zhuǎn)換為Base64編碼在線工具:
http://tools.jb51.net/transcoding/img2base64

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript加密解密技巧匯總》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 微信小程序自定義底部彈出框功能

    微信小程序自定義底部彈出框功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義底部彈出框功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • JS不間斷向上滾動(dòng)效果代碼

    JS不間斷向上滾動(dòng)效果代碼

    不間斷向上滾動(dòng)的效果,想必大家都有見到過吧,本文也為大家準(zhǔn)備一個(gè)使用js實(shí)現(xiàn)的不間斷向上滾動(dòng)效果,感興趣的朋友可以參考下
    2013-12-12
  • 微信小程序?qū)崿F(xiàn)星級評分和展示

    微信小程序?qū)崿F(xiàn)星級評分和展示

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)星級評分和展示效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • layui實(shí)現(xiàn)三級聯(lián)動(dòng)效果

    layui實(shí)現(xiàn)三級聯(lián)動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了layui實(shí)現(xiàn)三級聯(lián)動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 微信小程序uniapp添加懸浮菜單的方法

    微信小程序uniapp添加懸浮菜單的方法

    這篇文章主要為大家詳細(xì)介紹了微信小程序uniapp添加懸浮菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 微信JSAPI支付操作需要注意的細(xì)節(jié)

    微信JSAPI支付操作需要注意的細(xì)節(jié)

    這篇文章主要介紹了微信JSAPI支付中所遇到的那些坑,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 微信小程序?qū)崿F(xiàn)圖片拖拽調(diào)換位置效果(開箱即用)

    微信小程序?qū)崿F(xiàn)圖片拖拽調(diào)換位置效果(開箱即用)

    本篇文章給大家介紹如何在微信小程序中實(shí)現(xiàn)圖片的拖拽排序和刪除功能,通過創(chuàng)建自定義組件并使用示例代碼,代碼簡單易懂,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • js滑動(dòng)提示效果代碼分享

    js滑動(dòng)提示效果代碼分享

    這篇文章主要為大家分享了js滑動(dòng)提示效果代碼,實(shí)現(xiàn)方法簡單,感興趣的小伙伴們可以參考一下
    2016-03-03
  • javascript入門之string對象【新手必看】

    javascript入門之string對象【新手必看】

    本片文章主要介紹String 對象的屬性方法等并進(jìn)行舉例說明,小編認(rèn)為對大家學(xué)習(xí)JavaScript是有所幫助的,需要朋友的可以看下
    2016-11-11
  • 微信小程序 騰訊地圖顯示偏差問題解決

    微信小程序 騰訊地圖顯示偏差問題解決

    這篇文章主要介紹了微信小程序 騰訊地圖顯示偏差問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評論

柳林县| 调兵山市| 鹤壁市| 林甸县| 叶城县| 抚顺县| 资中县| 都兰县| 张家界市| 会理县| 塘沽区| 扶绥县| 司法| 六安市| 略阳县| 烟台市| 张家港市| 南宫市| 五家渠市| 淳化县| 桐城市| 彰化县| 宁陵县| 什邡市| 深水埗区| 获嘉县| 扶余县| 太湖县| 宁都县| 绵阳市| 福安市| 高安市| 榆树市| 灵石县| 佛学| 康乐县| 科技| 东方市| 汕尾市| 金溪县| 独山县|