첫 번째 게시물을 여기에. 파이썬으로 코딩 한 것도 처음입니다.RSA 암호화 : 암호 해독 기능의 오류
정말 내 RSA 암호화 파이썬 프로젝트에 도움이 필요합니다.
암호 해독을 기능으로 바꾸면 내 암호 해독에 잘못된 키 오류가 표시됩니다. (오류 : 잘못된 키?) 하지만 암호 해독 기능에 내 암호 기능에 참여하면 작동하고 암호화 된 메시지의 암호를 해독합니다.
이유는 무엇입니까? 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()
위 코드의 들여 쓰기가 정확한지 확인할 수 있습니까? 그렇지 않은 경우 수정하십시오. 파이썬에서는 큰 효과가있을 수 있습니다. – roelofs
끝에 코드가없는 것 같습니다. – roelofs
@roelofs 올바른 btw입니다. 초보자 Stackoverflow에 게시 그래서 나는 그것이 엉망이 될 줄 몰랐다. 터미널에서 스크립트를 실행하면 내 코드가 작동합니다. 그리고 마지막 괄호 부분도 편집했습니다. 죄송합니다. :) – Bernard1009