我想寫一個RSA加密軟件工具,每次使用相同的密鑰。這是我到目前爲止。Python的RSA加密
import Crypto
from Crypto.PublicKey import RSA
from Crypto import Random
key = <_RSAobj @0x24b6348 n<1024>,e,d,p,q,u,private>
publickey = key.publickey()
encrypted = publickey.encrypt('hi', 32)
print(encrypted)
我在第5行得到一個語法錯誤,指向<符號。我知道這是一個有效的私鑰。有什麼問題,我該如何解決。另外我使用Python 2.7.3
[編輯]我從這個代碼
import Crypto
from Crypto.PublicKey import RSA
from Crypto import Random
import os
random_generator = Random.new().read
key = RSA.generate(1024, random_generator)
print(key)
raw_input()
而且我得到這個代碼「不支持錯誤RSA密鑰格式」的「後的raw_input的關鍵( )」
import Crypto
from Crypto.PublicKey import RSA
from Crypto import Random
text_file = open("keyfile.txt", "w")
text_file.write('<_RSAobj @0x24b6348 n<1024>,e,d,p,q,u,private>')
text_file.close()
raw_input()
with open('keyfile.txt', 'r') as f:
externKey = f.readline()
key = RSA.importKey(externKey, passphrase=None)
publickey = key.publickey()
encrypted = publickey.encrypt('hi', 32)
print(encrypted)
這不是一個有效的密鑰。這是一個關鍵對象的字符串表示。 – kichik
如何將字符串轉換爲關鍵對象? – MathMXC
'RSA.importKey(「key string here」)' – kichik