国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肇东市| 久治县| 郯城县| 彭泽县| 炉霍县| 沈丘县| 江孜县| 于都县| 福建省| 慈利县| 鲁甸县| 高清| 古交市| 上思县| 思南县| 黔西县| 旌德县| 喀什市| 伊宁市| 海南省| 永新县| 泗洪县| 格尔木市| 钟山县| 金塔县| 康平县| 宜阳县| 江津市| 澄迈县| 漳平市| 万安县| 沂源县| 鄂托克前旗| 车致| 武功县| 平乡县| 汉源县| 区。| 忻州市| 舞钢市| 淮南市|