溫馨提示×

python中rsa加密解密怎么實現(xiàn)

小億
109
2024-01-09 17:54:50
欄目: 編程語言

在Python中,可以使用rsa庫來實現(xiàn)RSA加密和解密。

首先,確保你已經安裝了rsa庫。可以使用以下命令進行安裝:

pip install rsa

接下來,我們將分別介紹RSA加密和解密的實現(xiàn)方法。

RSA加密

import rsa

# 生成RSA公私鑰對
(pubkey, privkey) = rsa.newkeys(2048)

# 將公私鑰保存到文件
with open('public.pem', 'w+') as f:
    f.write(pubkey.save_pkcs1().decode())
    
with open('private.pem', 'w+') as f:
    f.write(privkey.save_pkcs1().decode())

# 加載公私鑰
with open('public.pem', 'r') as f:
    pubkey = rsa.PublicKey.load_pkcs1(f.read().encode())

with open('private.pem', 'r') as f:
    privkey = rsa.PrivateKey.load_pkcs1(f.read().encode())

# 加密
message = 'Hello World!'
crypto = rsa.encrypt(message.encode(), pubkey)

# 輸出加密后的結果
print(crypto)

在上述代碼中,我們首先生成了一個2048位的RSA公私鑰對,并將其保存到文件中。然后,我們加載公私鑰,并使用公鑰對明文進行加密,得到加密后的結果。

RSA解密

import rsa

# 加載私鑰
with open('private.pem', 'r') as f:
    privkey = rsa.PrivateKey.load_pkcs1(f.read().encode())

# 解密
message = rsa.decrypt(crypto, privkey).decode()

# 輸出解密后的結果
print(message)

在上述代碼中,我們加載了之前生成的私鑰,并使用私鑰對密文進行解密,得到解密后的明文。

注意:在實際使用時,需要將密文和公私鑰保存到安全的地方,并且確保只有授權的用戶可以訪問私鑰。

0