範例程式碼:
文章撰寫中...請稍後...
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}")
文章撰寫中...請稍後...
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com