欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS中常見編碼及加密方式解析

 更新時(shí)間:2022年04月12日 10:12:17   作者:Jeff的技術(shù)棧  
這篇文章主要為大家介紹了JS中常見編碼及加密方式解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪

base64

#特征:結(jié)尾可能有"=="號(hào)
#編碼
# 想將字符串轉(zhuǎn)編碼成base64,要先將字符串轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)
url = "https://www.cnblogs.com/songzhixue/"
bytes_url = url.encode("utf-8")
str_url = base64.b64encode(bytes_url)  # 被編碼的參數(shù)必須是二進(jìn)制數(shù)據(jù)
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'))   # 往對(duì)象里傳數(shù)據(jù)加密  ,update只能接受bytes類型
md.update(b'hello')
print(md.hexdigest())
結(jié)果:23b431acfeb41e15d466d75de822307c

#編碼加鹽
#2.加鹽  :自己添加的東西和客戶的真密碼一起加密,自己添加的東西可以是動(dòng)態(tài)的
md = hashlib.md5()
md.update(b'yan.com')
md.update(b'hello')   # 加密
print(md.hexdigest())  # 獲取密文

AES

特征:對(duì)稱加密,加密解密用的是同樣的密鑰。對(duì)稱加密是最快速、最簡單的一種加密方式

對(duì)稱加密:適合經(jīng)常發(fā)送數(shù)據(jù)的場(chǎng)合

非對(duì)稱加密:加密和解密用的密鑰是不同的,通常加密解密的速度比較慢,適合偶爾發(fā)送數(shù)據(jù)的場(chǎng)合。優(yōu)點(diǎn)是密鑰傳輸方便。

AES的三要素

密鑰:128、192、256

填充:
    NoPadding
    PKCS7Padding
    ZeroPadding
    AnsiX923
    lso10126
    lso97971

工作模式:
    CBC、ECB、CTR、CFB、OFB

AES工作模式區(qū)別

工作模式:
    CBC、ECB、CTR、CFB、OFB

ECB模式:    

1、簡單 

2、有利于計(jì)算

3、相同的明文塊經(jīng)過加密會(huì)變成相同的密文塊,因此安全性較差

CBC模式:

1、無法并行計(jì)算,性能上不如ECB

2、引入初始化向量IV,增加復(fù)雜度。

3、安全性高

AES的加密流程

1、把明文按照128bit拆分成若干個(gè)明文塊

2、按照選擇的填充模式來填充最后一個(gè)明文塊

3、每個(gè)明文塊利用AES加密器和密鑰,加密成密文塊

JS-AES、base64、SHA256、RSA等加解密庫

#利用nodejs中的crypto-js庫
var CryptoJS = require("crypto-js")
CryptoJS.AES.encrypt(text,CryptoJS.enc.UTF8.parse(key),data={})

AES的特點(diǎn)、特征

1、有iv的是特征的是CBC工作模式

2、mode和padding標(biāo)示的加密模式、填充方式

iv:初始向量

mode:工作模式

padding:填充方式

Ascii碼

Ascii碼是一種特定的編碼方式,流行于歐洲國家,表達(dá)128常見的字符與操作符,表達(dá)力有限

DES

DES全稱為Data Encryption Standard,即數(shù)據(jù)加密標(biāo)準(zhǔn),是一種使用密鑰加密的塊算法,1977年被美國聯(lián)邦政府的國家標(biāo)準(zhǔn)局確定為聯(lián)邦資料處理標(biāo)準(zhǔn)(FIPS),并授權(quán)在非密級(jí)政府通信中使用,隨后該算法在國際上廣泛流傳開來。

需要注意的是,在某些文獻(xiàn)中,作為算法的DES稱為數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA),已與作為標(biāo)準(zhǔn)的DES區(qū)分開來。

以上就是JS中常見編碼及加密方式解析的詳細(xì)內(nèi)容,更多關(guān)于JS編碼及加密方式的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論