日韩av片子_国产自在自线午夜精品视频在_使劲快高潮了国语对白在线_久久免费毛片大全_激情丁香综合_欧美成人精品欧美一级乱黄码

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 軟件研發(fā) > 如何在Python中加密和解密數(shù)據(jù)

如何在Python中加密和解密數(shù)據(jù)

2020-08-07 17:40:52 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

加密是對(duì)信息進(jìn)行編碼的過程,只有授權(quán)方才能訪問它。這一點(diǎn)至關(guān)重要,因?yàn)樗梢园踩乇Wo(hù)您不希望任何人看到或訪問的數(shù)據(jù)。在本文中,您將學(xué)習(xí)如何使用Python使用加密 庫對(duì)文件或任何字節(jié)對(duì)象,也包括字符串對(duì)象進(jìn)行加密。我們將使用對(duì)稱加密,這意味著用于加密數(shù)據(jù)的相同密鑰也可用于解密。那里有很多加密算法,我們將使用的庫是基于AES算法構(gòu)建的。

注意:了解加密和哈希算法之間的區(qū)別很重要 ,在加密中,一旦擁有密鑰,您就可以檢索原始數(shù)據(jù),而在 哈希函數(shù)中則不能,因此,它們被稱為單向加密。

  讓我們從安裝加密開始:

pip3 install cryptography

打開一個(gè)新的Python文件,讓我們開始吧:

from cryptography.fernet import Fernet

  生成密鑰

Fernet是對(duì)稱身份驗(yàn)證密碼技術(shù)的實(shí)現(xiàn),讓我們首先生成該密鑰并將其寫入文件:

def write_key():

"""

Generates a key and save it into a file

"""

key = Fernet.generate_key()

with open("key.key", "wb") as key_file:

key_file.write(key)

generate_key()函數(shù)生成一個(gè)新的Fernet密鑰,您確實(shí)需要將其保存在安全的地方,如果丟失了密鑰,您將不再能夠解密使用此密鑰加密的數(shù)據(jù)。

由于此密鑰是唯一的,因此我們不會(huì)在每次加密任何內(nèi)容時(shí)生成密鑰,因此我們需要一個(gè)函數(shù)來為我們加載該密鑰:

def load_key():

"""

Loads the key from the current directory named `key.key`

"""

return open("key.key", "rb").read()

  字符串加密

現(xiàn)在我們知道了如何獲取密鑰,讓我們從加密字符串對(duì)象開始,只是為了讓您首先熟悉它。

  生成密鑰并將其寫入文件:

# generate and write a new key

write_key()

  讓我們加載該密鑰:

# load the previously generated key

key = load_key()

  一些消息:

message = "some secret message".encode()

我們需要對(duì)字符串進(jìn)行編碼,以將其轉(zhuǎn)換為適合加密的字節(jié),encode()方法使用utf-8編解碼器對(duì)該字符串進(jìn)行編碼。使用該鍵初始化Fernet類:

# initialize the Fernet class

f = Fernet(key)

  加密消息:

# encrypt the message

encrypted = f.encrypt(message)

f.encrypt()方法對(duì)傳遞的數(shù)據(jù)進(jìn)行加密,這種加密的結(jié)果稱為“ Fernet令牌”,并具有強(qiáng)大的隱私性和真實(shí)性保證。

  讓我們看看它的外觀:

# print how it looks

print(encrypted)

  輸出:

b'gAAAAABdjSdoqn4kx6XMw_fMx5YT2eaeBBCEue3N2FWHhlXjD6JXJyeELfPrKf0cqGaYkcY6Q0bS22ppTBsNTNw2fU5HVg-c-0o-KVqcYxqWAIG-LVVI_1U='

  解密:

decrypted_encrypted = f.decrypt(encrypted)

print(decrypted_encrypted)

b'some secret message'

的確是同一條信息。

f.decrypt()方法解密Fernet令牌。成功解密后,這將返回原始明文作為結(jié)果,否則將引發(fā)異常。

關(guān)于如何在Python中加密和解密數(shù)據(jù)的問題,通過上述閱讀,想必大家已經(jīng)清楚了吧,想了解更多關(guān)于Python的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。

標(biāo)簽: Python 軟件研發(fā)
主站蜘蛛池模板: 亚洲一区二区三区在线免费 | 天天操夜夜操狠狠操 | 自拍偷拍第1页 | 成人毛片免费看 | 久久高清超碰AV热热久久 | 男女无遮挡XX00动态图120秒 | 一区二区三区日韩欧美 | 日韩久久久精品 | 欧美久久久网站 | 国产98在线| 久草热线视频 | 国产人成久久久精品 | 女人色毛片女人色毛片18 | 曰本女人与公拘交酡免费视频 | 奇米色欧美一区二区三区 | 欧美日韩国产一中文字不卡 | 99蜜久久精品国产首页 | 免费播放片高清在线观看av | 激情射精爆插热吻无码视频 | 国产黄色网址在线看 | 成人久久18免费 | 亚洲精品自偷自拍无码忘忧 | 噜噜噜噜噜久久久久久91 | 福利社一区二区 | 久久精品呦女 | 一本一道在线人妻中文字幕 | 色综合天天综合网国产 | 四虎成人免费视频在线播放 | 国产福利片无码区在线观看 | 国产91高清 | 中文在线免费二区三区 | 国产福利一区二区精品秒拍 | 在线免费黄色 | 秀婷程仪公欲息肉婷在线观看 | 亚洲中文久久精品无码浏不卡 | 一区二区三区四区国产 | 国产影视精品一区二区三区 | 逼自拍偷拍自拍天堂偷拍 | 午夜影院啪啪 | 成人免费ssss片 | 在线高清视频免费观看视频 |