国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序之 base-64加密、解密

這篇具有很好參考價值的文章主要介紹了微信小程序之 base-64加密、解密。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

后端獲取 token 接口,需要加密認證文章來源地址http://www.zghlxwxcb.cn/news/detail-507701.html

// base64.js
var base64 = {
  _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
  encode (str) { // 加密
    var output = "";
    var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
    var i = 0;
    str = this._utf16to8(str);
    while (i < str.length) {
      chr1 = str.charCodeAt(i++);
      chr2 = str.charCodeAt(i++);
      chr3 = str.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 + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
    } return output;
  },
  decode (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 = this._keyStr.indexOf(input.charAt(i++));
        enc2 = this._keyStr.indexOf(input.charAt(i++));
        enc3 = this._keyStr.indexOf(input.charAt(i++));
        enc4 = this._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);
        }
    } return this._utf8to16(output);
  },
  _utf16to8: function(str) {
    var out, i, len, c;
    out = "";
    len = str.length;
    for(i = 0; i < len; i++) {
        c = str.charCodeAt(i);
        if ((c >= 0x0001) && (c <= 0x007F)) {
            out += str.charAt(i);
        } else if (c > 0x07FF) {
            out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
            out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
            out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
        } else {
            out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
            out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
        }
    }
    return out;
  },
  _utf8to16 (str) { 
    var out, i, len, c;
    var char2, char3;
    out = "";
    len = str.length;
    i = 0;
    while(i < len) {
        c = str.charCodeAt(i++);
        switch(c >> 4)
        {
            case 0: case 1: case 2: case 3: case 4: case 5: case 6:case7:
              out += str.charAt(i-1);
            break;
            case 12: case 13:
              char2 = str.charCodeAt(i++);
              out += String.fromCharCode(((c & 0x1F) << 6) | (char2&0x3F));
            break;
            case 14:
              char2 = str.charCodeAt(i++);
              char3 = str.charCodeAt(i++);
              out += String.fromCharCode(((c & 0x0F) << 12) |
                ((char2 & 0x3F) << 6) |
                ((char3 & 0x3F) << 0));
            break;
        }
    } return out;
  }
}

/* 暴露函數(shù) */
module.exports = base64

應(yīng)用

const $base64= require('../utils/base64');  // 引入

const client ='mark:mark'
let basicAuth = 'Basic '+ $base64.encode(client)  // 加密


const ciphertext = 'bWFyazptYXJr'
let client= 'Basic '+ $base64.decode (ciphertext )  // 解密

到了這里,關(guān)于微信小程序之 base-64加密、解密的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • java和js實現(xiàn)前端加密后端解密,后端加密前端解密(Base64)

    目錄 1.前端加密后端解密 2.后端加密前端解密 在前端和后端數(shù)據(jù)傳輸時,常常涉及到隱私數(shù)據(jù)的傳輸(例如用戶名和密碼),這時,我們就需要對隱私數(shù)據(jù)進行加密解密 1.前端加密后端解密 ????????1.1 前端jquery實現(xiàn) ????????1.2后端 2.后端加密前端解密 ? ? ? ? 2.1后端加密

    2024年02月16日
    瀏覽(30)
  • 微信小程序坑之image回顯不出來后端返回的base64格式圖片

    做了半天,拼接出來的base64在菜鳥里也能正常顯示,但在微信小程序的image標簽里就始終回顯不出來。后來查出問題,是由于后端返回的base64格式里面有/n等字符,所以小程序里顯示不出來,把這些字符換成\\\"\\\",字符串就是了。具體方法步驟如下 將base64多余的字符給匹配為空字

    2024年02月08日
    瀏覽(21)
  • base64加密解密

    base64加密解密過程 Base64會使用一串固定編碼: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ 加密過程 想要使用Base64加密,原文長度必須是3的倍數(shù)。如果原文不是3的倍數(shù)就填充其他符號來湊足成3的倍數(shù); 1,將明文對照以ACSSI碼表轉(zhuǎn)換成一個8位二進制數(shù); 2,將轉(zhuǎn)換后的數(shù)

    2024年02月04日
    瀏覽(25)
  • base4解密(Base64加密算法)

    base64解密解碼轉(zhuǎn)換說明: 1、Base64編碼要求把3個8位字節(jié)(3*8=24)轉(zhuǎn)化為4個6位的字節(jié)(4*6=24),之后在6位的前面補兩個0,形成8位一個字節(jié)的形式。如果剩下的字符不足3個字節(jié),則用0填充,輸出字符使用‘=’,因此編碼后輸出的文本末尾可能會出現(xiàn)1或2個‘=’。 2、為了保

    2024年02月16日
    瀏覽(25)
  • 利用Base64加密算法將數(shù)據(jù)加密解密

    利用Base64加密算法將數(shù)據(jù)加密解密

    Base64準確來說并不像是一種加密算法,而更像是一種編碼標準。 我們知道現(xiàn)在最為流行的編碼標準就是ASCLL,它用八個二進制位(一個char的大?。┍硎玖?27個字符,任何二進制序列都可以用這127個字符表示出來。 而Base64則是用6個二進制位表示了64個字符,也就是說,任何的

    2024年04月09日
    瀏覽(25)
  • Java的Base64加密解密詳解

    大家好,我是免費搭建查券返利機器人賺傭金就用微賺淘客系統(tǒng)3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿! 在當今數(shù)字化時代,數(shù)據(jù)的安全性和可傳遞性變得尤為重要。Java編程語言提供了 Base64 編碼和解碼的工具,成為保障數(shù)據(jù)傳輸和存儲安全性的一項重要技術(shù)

    2024年04月15日
    瀏覽(33)
  • JS基于base64編碼加密解密文本和圖片(修訂)

    JS基于base64編碼加密解密文本和圖片(修訂)

    ? 密碼學,體系太龐大了,常見的加密解密算法很多,這里僅介紹采用base64實現(xiàn)的加密解密的方法。 嚴格地說base64不是加密算法,他只是一種編碼方式,是一種用64個字符來表示任意二進制數(shù)據(jù)的方法。詳情可參見其它資料。 Base64編碼具有不可讀性,需要解碼后才能閱讀。

    2024年02月07日
    瀏覽(30)
  • uniapp 微信小程序base64流轉(zhuǎn)圖片

    因為這次后端返回的圖片并不是一個http地址,百度找了很久,在此記錄 1,新建一個js文件 2.在vue文件中引入 import {?base64ToPath} from \\\'./base64src.js\\\' let result = 后端返回的base64流.replace(/[rn]/g, \\\"\\\"); let pdfBase64 = `data:application/pdf;base64,${result}`;

    2024年02月16日
    瀏覽(95)
  • 微信小程序預(yù)覽pdf(base64為)

    微信小程序轉(zhuǎn)blob提示? !!!?blob is not defined 查看官方文檔后解釋說微信小程序不支持轉(zhuǎn)為 blob 采用官方解決方案:

    2024年02月12日
    瀏覽(91)
  • uniapp-微信小程序-圖片轉(zhuǎn)base64

    當前在做得小程序設(shè)計拍照識別,而服務(wù)器方需要前端提供圖片的base64編碼作為參數(shù)進行解析識別,一開始想著走原生JS的base64方法——借助canvas,當然我也試了,就在自己覺得沒問題的時候,調(diào)試時終端報錯了:ReferenceError: Image is not defined. 我著實懵了,也就是說Image對象實

    2024年02月13日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包