利用Python Crypto生成RSA公鑰私鑰
阿新 • • 發佈:2019-01-23
# -*- coding: utf-8 -*- from Crypto import Random from Crypto.PublicKey import RSA print "generate private key and pulic key" # 參考 C:\Python27\Lib\site-packages\Crypto\PublicKey\RSA.py ###################################################### # 利用偽隨機數來生成私鑰和公鑰 random_generator = Random.new().read rsa = RSA.generate(2048, random_generator) private_pem = rsa.exportKey() f = open('MY_KEY1_pri.pem', 'w') f.write(private_pem) f.close() public_pem = rsa.publickey().exportKey() f = open('MY_KEY1_pub.pem', 'w') f.write(public_pem) f.close() ###################################################### # 利用預設的generate來生成私鑰和公鑰 rsa = RSA.generate(2048) private_pem = rsa.exportKey('PEM') f = open('MY_KEY2_pri.pem','w') f.write(private_pem) f.close() public_pem = rsa.publickey().exportKey() f = open('MY_KEY2_pub.pem', 'w') f.write(public_pem) f.close() ###################################################### # 根據已有的RSA私鑰來生成公鑰 f = open('MY_KEY3_pri.pem','r') rsa = RSA.importKey(f.read()) f.close() public_pem = rsa.publickey().exportKey() f = open('MY_KEY3_pub.pem', 'w') f.write(public_pem) f.close() ###################################################### # 根據已有的RSA PEM格式的私鑰來轉換成DER格式的私鑰 f = open('MY_KEY3_pri.pem','r') rsa = RSA.importKey(f.read()) f.close() private_der = rsa.exportKey('DER') f = open('MY_KEY3_pri.der', 'w') f.write(private_der) f.close()