2017-05-23 13 views
0

안녕하세요. IV (해독 된 가치가 IV입니다.)가 해독 된 문자열의 앞에 표시됩니다. 지금 나는 ... 나는이 일을해야합니까 지금 시간 동안 노력 ... 어떻게 문자열을하지 않는PyCrypto가 제대로 인쇄되지 않습니다.

내 코드 :

from Crypto.Cipher import AES 
    import hashlib 
    import base64 
    import os 
    import string 

    iv = os.urandom(16) 
    key = hashlib.sha256(b'mypassword123').digest() 
    plaintext = (b'the password is totally not secure') 
    cipher = AES.new(key, AES.MODE_CFB, iv) 
    ciphertext = iv + cipher.encrypt(plaintext) 
    print (ciphertext) 
    print ("IV = ",iv) 
    ciphertext = ciphertext.split(iv) 
    ciphertext = str(ciphertext)[1].strip() 
    plaintext = cipher.decrypt(ciphertext) 
    print (plaintext) 

답변

0

encrypt 당신은을해야, cipher 변경됩니다 새로운; 및 str 아래처럼 repr(byte)byte로 변경할 것이다

a=b'xxx' 
str(a) # "b'xxx'" 

from Crypto.Cipher import AES 
import hashlib 
import base64 
import os 
import string 

iv = os.urandom(16) 
key = hashlib.sha256(b'mypassword123').digest() 
plaintext = (b'the password is totally not secure') 
cipher = AES.new(key, AES.MODE_CFB, iv) 
ciphertext = iv + cipher.encrypt(plaintext) 
print (ciphertext) 
print ("IV = ",iv) 
ciphertext = ciphertext.split(iv) 
ciphertext = ciphertext[1] 
cipher2 = AES.new(key, AES.MODE_CFB, iv) 
plaintext = cipher2.decrypt(ciphertext) 
print (plaintext) 

상세히 참조 pycrypto