JS-常見加密方式
阿新 • • 發佈:2020-09-23
目錄
base64
特徵:結尾可能有"=="號 編碼 # 想將字串轉編碼成base64,要先將字串轉換成二進位制資料 url = "https://www.cnblogs.com/songzhixue/" bytes_url = url.encode("utf-8") str_url = base64.b64encode(bytes_url) # 被編碼的引數必須是二進位制資料 print(str_url) b'aHR0cHM6Ly93d3cuY25ibG9ncy5jb20vc29uZ3poaXh1ZS8=' 解碼 # 將base64解碼成字串 import base64 url = "aHR0cHM6Ly93d3cuY25ibG9ncy5jb20vc29uZ3poaXh1ZS8=" str_url = base64.b64decode(url).decode("utf-8") print(str_url) 'https://www.cnblogs.com/songzhixue/'
Md5
注意:md5是雜湊,不是加密 特徵:32位 1.編碼 md = hashlib.md5() # 加密,不可逆 md.update('hello'.encode('utf-8')) # 往物件裡傳資料加密 ,update只能接受bytes型別 md.update(b'hello') print(md.hexdigest()) 結果:23b431acfeb41e15d466d75de822307c 編碼加鹽 2.加鹽 :自己新增的東西和客戶的真密碼一起加密,自己新增的東西可以是動態的 md = hashlib.md5() md.update(b'yan.com') md.update(b'hello') # 加密 print(md.hexdigest()) # 獲取密文
AES
特徵:對稱加密,加密解密用的是同樣的金鑰。對稱加密是最快速、最簡單的一種加密方式
對稱加密:適合經常傳送資料的場合
非對稱加密:加密和解密用的金鑰是不同的,通常加密解密的速度比較慢,適合偶爾傳送資料的場合。優點是金鑰傳輸方便。