欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产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)

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

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

  讓我們從安裝加密開始:

pip3 install cryptography

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

from cryptography.fernet import Fernet

  生成密鑰

Fernet是對稱身份驗證密碼技術(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ù)生成一個新的Fernet密鑰,您確實需要將其保存在安全的地方,如果丟失了密鑰,您將不再能夠解密使用此密鑰加密的數(shù)據(jù)。

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

def load_key():

"""

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

"""

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

  字符串加密

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

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

# generate and write a new key

write_key()

  讓我們加載該密鑰:

# load the previously generated key

key = load_key()

  一些消息:

message = "some secret message".encode()

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

# initialize the Fernet class

f = Fernet(key)

  加密消息:

# encrypt the message

encrypted = f.encrypt(message)

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

  讓我們看看它的外觀:

# 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的信息,請繼續(xù)關(guān)注中培偉業(yè)。

標(biāo)簽: Python 軟件研發(fā)
主站蜘蛛池模板: 无码熟妇人妻AV在线影片最多 | 人与牲口性恔配视频免费L 一本色综合久久 | 亚洲日韩中文字幕无码一区 | 日韩日批 | 无码av动漫精品一区二区免费 | 日韩操bb | 亚洲精品~无码抽插 | 国产一级做a爰片在线看免费 | 欧美成本人视频免费播放 | 亚洲不卡无码永久在线观看 | 国产cao视频在线观看 | AV在线观看地址 | 欧美综合在线激情专区 | 亚洲高清成人在线 | 日本成本人片免费网站 | 综合久草 | 久久AV无码精品人妻系列 | 香港三级日本三级韩国三级 | 成人免费无码H在线观看 | 麻豆传媒在线完整视频 | 日本亚洲欧美高清专区vr专区 | 一二三四在线观看免费高清视频 | 国产三级精品三级在线专区 | 天天躁日日躁狠狠躁超碰97 | 制服丝袜人妻有码无码中文字幕 | 丁香五月缴情综合网 | 亚洲人成影院在线无码按摩店 | 2021久久国自产拍精品 | 亚洲av色欲色欲www | 欧美性猛交xxxx免费视频软件 | 国产毛片女人高潮叫声 | 在线国产1区 | 色悠久久久久综合网香蕉 | 青草青草久热国产精品 | 无码人妻出轨黑人中文字幕 | 国精产品999国精产品官网 | video喷出白浆 | 国产精品视频一区二区三 | 亚欧美日韩香蕉在线播放视频 | 给老师下药挺进她的身体 | 男人疯狂进入女人下部动态图 |