1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Javascript實(shí)現(xiàn)base64的加密解密方法示例

      這幾天使用PHP向前端傳值的時(shí)候,遇到一個(gè)問題,要將代碼傳過去賦值。如果使用urlencode()和urldecode()函數(shù),就會出現(xiàn)js無法解碼的情況,因?yàn)閜hp和js的相關(guān)函數(shù)算法不一致。于是準(zhǔn)備使用通用的base64加密解密。

      創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比徽縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式徽縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋徽縣地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。

      base64 加密解密

      下方是base64用javascript寫出來的函數(shù)和方法。

      //1.加密解密方法使用:
      //1.加密 
      var str = '124中文內(nèi)容'; 
      var base = new Base64(); 
      var result = base.encode(str); 
      //document.write(result); 
      //2.解密 
      var result2 = base.decode(result); 
      document.write(result2); 
      //2.加密、解密算法封裝:
      function Base64() { 
        // private property 
        _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; 
        // public method for encoding 
        this.encode = function (input) { 
          var output = ""; 
          var chr1, chr2, chr3, enc1, enc2, enc3, enc4; 
          var i = 0; 
          input = _utf8_encode(input); 
          while (i < input.length) { 
            chr1 = input.charCodeAt(i++); 
            chr2 = input.charCodeAt(i++); 
            chr3 = input.charCodeAt(i++); 
            enc1 = chr1 >> 2; 
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); 
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); 
            enc4 = chr3 & 63; 
            if (isNaN(chr2)) { 
              enc3 = enc4 = 64; 
            } else if (isNaN(chr3)) { 
              enc4 = 64; 
            } 
            output = output + 
            _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + 
            _keyStr.charAt(enc3) + _keyStr.charAt(enc4); 
          } 
          return output; 
        } 
        // public method for decoding 
        this.decode = function (input) { 
          var output = ""; 
          var chr1, chr2, chr3; 
          var enc1, enc2, enc3, enc4; 
          var i = 0; 
          input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); 
          while (i < input.length) { 
            enc1 = _keyStr.indexOf(input.charAt(i++)); 
            enc2 = _keyStr.indexOf(input.charAt(i++)); 
            enc3 = _keyStr.indexOf(input.charAt(i++)); 
            enc4 = _keyStr.indexOf(input.charAt(i++)); 
            chr1 = (enc1 << 2) | (enc2 >> 4); 
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); 
            chr3 = ((enc3 & 3) << 6) | enc4; 
            output = output + String.fromCharCode(chr1); 
            if (enc3 != 64) { 
              output = output + String.fromCharCode(chr2); 
            } 
            if (enc4 != 64) { 
              output = output + String.fromCharCode(chr3); 
            } 
          } 
          output = _utf8_decode(output); 
          return output; 
        } 
        // private method for UTF-8 encoding 
        _utf8_encode = function (string) { 
          string = string.replace(/\r\n/g,"\n"); 
          var utftext = ""; 
          for (var n = 0; n < string.length; n++) { 
            var c = string.charCodeAt(n); 
            if (c < 128) { 
              utftext += String.fromCharCode(c); 
            } else if((c > 127) && (c < 2048)) { 
              utftext += String.fromCharCode((c >> 6) | 192); 
              utftext += String.fromCharCode((c & 63) | 128); 
            } else { 
              utftext += String.fromCharCode((c >> 12) | 224); 
              utftext += String.fromCharCode(((c >> 6) & 63) | 128); 
              utftext += String.fromCharCode((c & 63) | 128); 
            } 
          } 
          return utftext; 
        } 
        // private method for UTF-8 decoding 
        _utf8_decode = function (utftext) { 
          var string = ""; 
          var i = 0; 
          var c = c1 = c2 = 0; 
          while ( i < utftext.length ) { 
            c = utftext.charCodeAt(i); 
            if (c < 128) { 
              string += String.fromCharCode(c); 
              i++; 
            } else if((c > 191) && (c < 224)) { 
              c2 = utftext.charCodeAt(i+1); 
              string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); 
              i += 2; 
            } else { 
              c2 = utftext.charCodeAt(i+1); 
              c3 = utftext.charCodeAt(i+2); 
              string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); 
              i += 3; 
            } 
          } 
          return string; 
        } 
      }

      以上所述是小編給大家介紹的Javascript實(shí)現(xiàn)base64的加密解密方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!


      本文名稱:Javascript實(shí)現(xiàn)base64的加密解密方法示例
      轉(zhuǎn)載來源:http://www.ef60e0e.cn/article/poeggd.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        师宗县| 鹰潭市| 波密县| 阿巴嘎旗| 永寿县| 武陟县| 介休市| 慈溪市| 抚松县| 曲沃县| 治多县| 邵阳市| 郸城县| 中牟县| 景洪市| 汾阳市| 井陉县| 普安县| 海城市| 星座| 九龙城区| 晋中市| 连城县| 呼和浩特市| 潮州市| 洮南市| 大悟县| 塘沽区| 大理市| 宝兴县| 通辽市| 大悟县| 夏津县| 清远市| 宣威市| 江北区| 安化县| 徐水县| 南城县| 元朗区| 文山县|