在Python中,可以使用rsa
庫來實現RSA加密和解密。
首先,確保你已經安裝了rsa
庫。可以使用以下命令進行安裝:
pip install rsa
接下來,我們將分別介紹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公私鑰對,并將其保存到文件中。然后,我們加載公私鑰,并使用公鑰對明文進行加密,得到加密后的結果。
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)
在上述代碼中,我們加載了之前生成的私鑰,并使用私鑰對密文進行解密,得到解密后的明文。
注意:在實際使用時,需要將密文和公私鑰保存到安全的地方,并且確保只有授權的用戶可以訪問私鑰。