最初の投稿はこちらPythonでコーディングするのも初めてのことです。RSA暗号化:復号化機能のエラー
私は本当に私のRSA暗号化のpythonプロジェクトのための助けが必要です。
解読を関数に変換すると、自分の解読が間違ったキーエラーを表示します。 (エラー:キーが間違っていますか?) 暗号化機能に復号化機能を組み込むと、暗号化されたメッセージが機能し復号化されます。
なぜか私に尋ねることはできますか? CipherText
は新しい変数となり、あなたの新しいdecrypt()
機能で
import os
import M2Crypto
def encrypt():
pubkey = (raw_input('Enter choosen public key:'))
loadpub = M2Crypto.RSA.load_pub_key (pubkey + '-public.pem')
encrypt = (raw_input('Enter message to decrypt:'))
CipherText = loadpub.public_encrypt (encrypt, M2Crypto.RSA.pkcs1_oaep_padding)
print "Encrypted message:"
print CipherText.encode ('base64')
f = open ('encryption.txt', 'w')
f.write(str(CipherText.encode ('base64'))) #write ciphertext to file
f.close()
def decrypt():
privkey = (raw_input('Enter choosen private key:'))
loadprivkey = M2Crypto.RSA.load_key (privkey + '-private.pem')
try:
PlainText = loadprivkey.private_decrypt (CipherText, M2Crypto.RSA.pkcs1_oaep_padding)
except:
print "Error: wrong key?"
PlainText = ""
if PlainText != "":
print "Message decrypted by " + privkey + " :"
print PlainText
def first():
print "Press 1 for encryption."
print "Press 2 for decryption."
qwe = (raw_input(''))
if qwe == '1':
encrypt()
first()
elif qwe == '2':
decrypt()
first()
else:
print "Please enter a correct number"
first()
if __name__ == '__main__':
first()
上記のコードのインデントが正しいことを確認できますか?そうでない場合は修正してください。 Pythonでは、それは大きな影響を与える可能性があります。 – roelofs
最後にコードが見つからないようです。 – roelofs
@roelofs正しいbtwです。初心者がStackoverflowに投稿したので、それがうまくいかないことはわかりませんでした。ターミナルでスクリプトを実行すると、私のコードが動作しています。そして最後の括弧部分も編集しました。ごめんなさい。 :) – Bernard1009