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

小程序、pc、h5端token的jwt解密解碼(base64)

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

前言:很多時候我們需要對數(shù)據(jù)進行加密解密,比如解析token等? 這個時候我們就需要對其進行數(shù)據(jù)操作,而不同平臺的加密解密方法也是不一樣的,這里我做一下記錄。

我們先來了解一下?jwt 全稱是JSON WEB TOKEN?

JWT是用于用戶與服務器之間身份認證的密碼。 這個“密碼”的作用簡單來說就是一個:就是告訴服務器當前用戶是誰。

用戶登錄后,服務端根據(jù)一定的規(guī)則,生成TOKEN。后續(xù)用戶在每次請求時,將TOKEN攜帶上一起發(fā)送給服務器。

JWT 一般由三部分構成 分別是header、payload以及signature

header: 一般是一些固定的信息

{
  'typ': 'JWT',    // 聲明類型
  'alg': 'HS256'   // 聲明加密的算法 通常是 SHA256 HMAC 
}

payload:信息的主要載體,也可以是空的,返回的一些個人信息一般也是放在這

{
  avatarUrl: "https://thirdwx.qlogo.cn/mmopen/vi_32/jLcwsTs1QkicaJnMGt2vP7LaXUtIq8Q7bsRWIk2jTetG3agwoRRDEFAHEIgibDR5IqrztukRYp9waWNX58SjujZQ/132"
  city: ""
  country: ""
  gender: 0
  language: "zh_CN"
  nickName: "Demons."
  province: ""
}

signature:服務器用于驗證該請求的token是否合法

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

根據(jù)自己的規(guī)則算法生成的一串例如這樣的字符串

= = = = = = = = = = = = = = = = = = = = = = = 分割 = = = = = = = = = = = = =?= = = = = = = = = =?

接下來就是不同端對于token的解析

h5 pc

let token = res.data.token.split('.')
// 通過split()方法將token轉(zhuǎn)為字符串數(shù)組
// 這樣得到的長度為3的數(shù)組 分別就是 header、payload 以及signature
// 我們可以通過訪問數(shù)組下標的方式拿到主要存數(shù)據(jù)的payload 再進行解析 -----

// 格式化數(shù)據(jù)
token = token[1].replace(/-/g, "+").replace(/_/g, "/")

let userinfo = JSON.parse(decodeURIComponent(escape(window.atob(token)))); 
// 這樣就能到到我們需要的信息的json數(shù)據(jù)

在h5 pc我們能用到window? 但在小程序里沒有這玩意 這個時候atob() 這個方法就不適用了

就需要用到其他的方法?

微信小程序

// 進行分割+格式化
let token = res.data.token.split('.')
let userinfo = token[1].replace(/-/g, '+').replace(/_/g, '/')


// 解碼base
let info = new Buffer(userinfo, 'base64').toString('utf8')

// 得到的這個info就是解析后的json對象
console.log("info》》》》》",info)

原創(chuàng)碼字不易,如果你覺得對你有幫助的好勞煩你動動你的小手點個贊,當然關注收藏三連就更好了!?。_^!文章來源地址http://www.zghlxwxcb.cn/news/detail-491156.html

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

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

領支付寶紅包贊助服務器費用

相關文章

  • Base64加密解密,【微信小程序】,最新Android面試合集

    Base64加密解密,【微信小程序】,最新Android面試合集

    import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import tsou.com.encryption.R; import tsou.com.encryption.base64.Base64Utils; /** 一、什么Base64算法? Base64是網(wǎng)絡上最常見的用于傳輸8Bit字節(jié)代碼的編碼方式之一, Base64并不是安全

    2024年03月24日
    瀏覽(24)
  • uniapp開發(fā)微信小程序使用base64進行加密解密

    涉及場景:uniapp開發(fā)微信小程序需要使用base64進行加解密。 涉及依賴包:base-64,utf8 涉及到問題描述:首先嘗試引入js-base64這個包,經(jīng)過嘗試后發(fā)現(xiàn)無法使用,為什么無法使用不曉得,沒研究出來。再搜索中找到一篇關于《uniapp使用base64》的文章,文章中使用base64這個包,經(jīng)

    2024年02月16日
    瀏覽(105)
  • JWT Token在線解析解碼

    JWT Token在線解析解碼

    項目使用 spring boot + shiro + jwt 作為授權登錄,調(diào)用登錄接口,生成如下token:

    2024年02月11日
    瀏覽(19)
  • taro 支付寶/微信小程序/h5 上傳 - base64的那些事兒

    支付寶小程序臨時path轉(zhuǎn)base64 - 基礎庫2.0以下 支付寶小程序臨時path轉(zhuǎn)base64 - 基礎庫2.0及以上 微信小程序臨時path轉(zhuǎn)base64 h5臨時file轉(zhuǎn)base64 h5 base64轉(zhuǎn)file 獲取base64大小 h5 壓縮base64

    2024年02月10日
    瀏覽(15)
  • 后端接口返回圖片(數(shù)據(jù)流)前端怎么處理(ArrayBuffer轉(zhuǎn)base64)【包含PC以及小程序】

    后端接口返回圖片(數(shù)據(jù)流)前端怎么處理(ArrayBuffer轉(zhuǎn)base64)【包含PC以及小程序】

    MDN-前端必看網(wǎng)站 #最后如果axios的封裝時有封裝響應攔截器,如下: 要給這個if判斷的條件做補充 這里放axios官網(wǎng)的請求配置中 responseType 可選值參考(封裝axios必須了解) axios官網(wǎng)地址

    2024年02月14日
    瀏覽(27)
  • Java實現(xiàn)JSON Web Token(JWT)的生成、解碼和驗證

    JSON Web Token(JWT)是一種用于安全傳輸信息的開放標準。它可以用于認證和授權用戶,以及在不同系統(tǒng)之間傳輸數(shù)據(jù)。在本文中,我們將介紹如何在 Java 中使用 jjwt 庫來生成、解碼和驗證 JWT 引入 jjwt 庫 首先,你需要在你的項目中引入 jjwt 庫。如果你使用 Maven,可以在 pom.xm

    2024年02月10日
    瀏覽(32)
  • JS Base64編碼和解碼

    Base64 是一種編碼方式,可以將任意字符(包括二進制字符流)轉(zhuǎn)成可打印字符。JavaScript 定義了兩個與 Base64 相關的全局方法。 btoa():字符串或二進制值轉(zhuǎn)為 Base64 編碼。 atob():把 Base64 編碼轉(zhuǎn)為原來的字符。 Base64 方法不能夠操作非 ASCII 字符。 示例 要將非 ASCII 碼字符轉(zhuǎn)為

    2024年02月16日
    瀏覽(20)
  • java base64編碼和解碼

    Base64 編碼會將字符串編碼得到一個含有 A-Za-z0-9+/ 的字符串。 base64 編碼和解碼網(wǎng)上有些地方稱為 base64 加密和解密,這是不準確的。base64 是不能用來加密和解密的,它只是一種編碼解碼方式,不能用于加密和解密,如果你想加密和解密可以選擇如 AES、RSA 等加密算法。 標準的

    2024年02月15日
    瀏覽(32)
  • opensl學習——base16編碼解碼、base64編碼解碼、ASCII碼表、擴展ASCII碼

    opensl學習——base16編碼解碼、base64編碼解碼、ASCII碼表、擴展ASCII碼

    ASCII(American Standard Code for Information Interchange,美國信息互換標準代碼)是一套基于拉丁字母的字符編碼,共收錄了 128 個字符,用一個字節(jié)就可以存儲,它等同于國際標準 ISO/IEC 646。 ASCII 編碼于 1967 年第一次發(fā)布,最后一次更新是在 1986 年,迄今為止共收錄了 128 個字符,包

    2024年02月07日
    瀏覽(43)
  • Python中的Base64編碼和解碼

    Python3中Base64編碼和解碼,使用的是base64模塊中的b64encode 和 b64decode方法,關于怎么使用,首先查看源碼中的說明: b64encode : Encode the bytes-like object s using Base64 and return a bytes object b64decode : Decode the Base64 encoded bytes-like object or ASCII string s… The result is returned as a bytes object. 要點

    2024年02月13日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包