1. 程式人生 > 實用技巧 >JS-常見加密方式

JS-常見加密方式

目錄

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

特徵:對稱加密,加密解密用的是同樣的金鑰。對稱加密是最快速、最簡單的一種加密方式
對稱加密:適合經常傳送資料的場合
非對稱加密:加密和解密用的金鑰是不同的,通常加密解密的速度比較慢,適合偶爾傳送資料的場合。優點是金鑰傳輸方便。

pythonAES加解密