token令牌常用的四種加密方式

2021-10-02 17:16:17 字數 1442 閱讀 5097

1,base64 『防君子不防小人』

方法作用

引數返回值

b64encode

將輸入的引數轉化為base64規則的串

預加密的明文,型別為bytes;例:b『guoxiaonao』

base64對應編碼的密文,型別為bytes;例:b』z3vveglhb25hbw==』

b64decode

將base64串 解密回 明文

base64密文,型別為bytes;例:b』z3vveglhb25hbw==』

引數對應的明文,型別為bytes;例:b』guoxiaonao』

urlsafe_b64encode

作用同b64encode,但是會將 『+『替換成 『-』,將』/『替換成』_』

同b64encode

同b64encode

urlsafe_b64decode

作用同b64decode

同b64decode

同b64decode

**演示:

import base64

#base64加密

s = b'guoxiaonao'

b_s = base64.b64encode(s)

#b_s列印結果為 b'z3vveglhb25hbw=='

#base64解密

ss = base64.b64decode(b_s)

#ss列印結果為 b'guoxiaonao'

​ 2,sha-256 安全雜湊演算法的一種(hash)

​ hash三大特點:

​ 1)定長輸出 2)不可逆 3) 雪崩

import hashlib

s = hashlib.sha256(

)#建立sha256物件

s.update(b'***x'

)#新增欲hash的內容,型別為 bytes

s.digest(

)#獲取最終結果

​ 3,hmac-sha256 是一種通過特別計算方式之後產生的訊息認證碼,使用雜湊演算法同時結合乙個加密金鑰。它可以用來保證資料的完整性,同時可以用來作某個訊息的身份驗證

import hmac

#生成hmac物件

#第乙個引數為加密的key,bytes型別,

#第二個引數為欲加密的串,bytes型別

#第三個引數為hmac的演算法,指定為sha256

h = hmac.new(key,

str, digestmod=

'sha256 '

) h.digest(

)#獲取最終結果

​ 4,rsa256 非對稱加密

​ 1,加密: 公鑰加密,私鑰解密

​ 2,簽名: 私鑰簽名, 公鑰驗籤

HTTP請求Content Type四種方式比較

1 content type作用 乙個正確的http請求應當具備狀態行 請求頭 訊息主體 請求的資料應當放到訊息主體裡,資料本身的編碼方式由content type宣告,請求的客戶端和服務端必須遵守同乙個編碼方式才能正確解析資料的內容 常用於原生的 form 表單提交 3 multipart for...

四種常用的排序演算法

氣泡排序 法 從大到小排序 依次比較相鄰的兩個元素,通過一次比較把未排序序列中最大 或最小 的元素放置在未排序序列的末尾。public classmaopao for intm a system.out print m intt 0 for inti 0 i a.length 1 i for int...

PHP常用的四種排序

所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。排序演算法,就是如何使得記錄按照要求排列的方法。排序演算法在很多領域得到相當地重視,尤其是在大量資料的處理方面。乙個優秀的演算法可以節省大量的資源。在各個領域中考慮到資料的各種限制和規範,要得到乙個符合實際的優秀...