国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實現的base64加密解密操作示例

2019-11-19 14:00:22
字體:
來源:轉載
供稿:網友

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

<!DOCTYPE html><html><head><meta charset="utf-8" /><title>js base64加密解密</title></head><body><script>// 創建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"http:// 解密var decodedString = Base64.decode(encodedString);console.log(decodedString); // 輸出: "Hello World!"</script></body></html>

運行結果:

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

在線編碼轉換工具(utf-8/utf-32/Punycode/Base64):
http://tools.VeVB.COm/transcoding/decode_encode_tool

BASE64編碼解碼工具:
http://tools.VeVB.COm/transcoding/base64

圖片轉換為Base64編碼在線工具:
http://tools.VeVB.COm/transcoding/img2base64

更多關于JavaScript相關內容可查看本站專題:《JavaScript加密解密技巧匯總》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 余姚市| 军事| 浦县| 叶城县| 鹤山市| 长乐市| 永城市| 通许县| 来安县| 芦溪县| 桐梓县| 桐庐县| 辛集市| 蕉岭县| 松滋市| 蒙城县| 平顶山市| 察隅县| 资阳市| 安岳县| 五河县| 武宁县| 松溪县| 察雅县| 来宾市| 沈阳市| 大理市| 祁东县| 鄂托克旗| 安仁县| 革吉县| 柳州市| 枝江市| 普安县| 波密县| 涟源市| 长垣县| 广宗县| 南乐县| 普定县| 福鼎市|