Python RSA 加密 示範

範例程式碼:
    
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
import base64


def generate_key_pair():
    # 產生 RSA 公鑰和私鑰
    key = RSA.generate(2048)
    private_key = key.export_key()
    public_key = key.publickey().export_key()
    return private_key, public_key


def encrypt(public_key, message):
    # 使用公鑰加密
    key = RSA.import_key(public_key)
    cipher = PKCS1_OAEP.new(key)
    encrypted = cipher.encrypt(message.encode('utf-8'))
    return base64.b64encode(encrypted).decode('utf-8')


def decrypt(private_key, encrypted_message):
    # 使用私鑰解密
    key = RSA.import_key(private_key)
    cipher = PKCS1_OAEP.new(key)
    encrypted = base64.b64decode(encrypted_message.encode('utf-8'))
    return cipher.decrypt(encrypted).decode('utf-8')


if __name__ == "__main__":

    # 產生公鑰和私鑰
    private_key, public_key = generate_key_pair()

    print(f"公鑰: {public_key.decode('utf-8')}")
    print(f"私鑰: {private_key.decode('utf-8')}")

    # 明文
    message = "測試訊息"
    print(f"原始訊息: {message}")

    # 加密
    encrypted = encrypt(public_key, message)
    print(f"加密結果: {encrypted}")

    # 解密
    decrypted = decrypt(private_key, encrypted)
    print(f"解密結果: {decrypted}")

    

文章撰寫中...請稍後...

留言