Python是一門流行的編程語言,支持多種加密算法。其中,RSA算法是公鑰加密算法的代表之一。在Python中,使用自帶的“cryptography”庫可以輕松地實現RSA解密算法。
#! /usr/bin/env python3
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.backends import default_backend
def rsa_decrypt(ciphertext_path, private_key_path):
with open(ciphertext_path, 'rb') as file:
ciphertext_byte = file.read()
with open(private_key_path, 'rb') as file:
private_key = serialization.load_pem_private_key(
file.read(),
password=None,
backend=default_backend()
)
plaintext_byte = private_key.decrypt(
ciphertext_byte,
padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)
return plaintext_byte.decode()
if __name__ == '__main__':
ciphertext = 'path/to/encrypted/file'
private_key = 'path/to/private/key'
plaintext = rsa_decrypt(ciphertext, private_key)
print(plaintext)
在上述代碼中,我們首先使用“with open”語句讀取密文和密鑰文件,然后使用序列化庫中的“load_pem_private_key”函數加載私鑰。接著,我們調用“private_key.decrypt”函數解密密文,并最終返回明文。
需要注意的是,RSA算法通常用于加密小型的數據,而在加密大數據時,需要使用hybrid encryption或者其他的算法。此外,在使用RSA算法進行數據傳輸時,需要確保被加密數據的安全性。
上一篇cxml php
下一篇oracle 反向索引