この記事では、Pythonで実装されたRSA暗号化・復号化と署名・検証機能を中心に、PythonでのRSA暗号化・復号化の実装方法と、署名・検証関数の利用スキルを具体的な例と合わせて分析します。以下を参照してください
この記事の例では、Python で実装された RSA 暗号化/復号化および署名/検証関数について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
原文はpy2環境で、私の環境はpy3なので、元のコードはdecode()、encode()に変更されています
import rsa # 生成密钥 (pubkey, privkey) = rsa.newkeys(1024) # 保存密钥 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' # 公钥加密 crypto = rsa.encrypt(message.encode(), pubkey) # 私钥解密 message = rsa.decrypt(crypto, privkey).decode() print(message) # 私钥签名 signature = rsa.sign(message.encode(), privkey, 'SHA-1') # 公钥验证 rsa.verify(message.encode(), signature, pubkey)
改良版:
りー以上がPython で RSA 暗号化、復号化、署名、検証関数を実装する方法の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。