2017-05-23 11 views
0

こんにちは、私は前に(私はそれが信じていた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

を見ます
関連する問題