XOR-Python-Text-Verschlüsselung/Entschlüsselung

Ich weiß, gibt es eine eingebaute xor-operator importiert werden können in Python.
Ich versuche zum ausführen der xor-Verschlüsselung/Entschlüsselung. Bisher habe ich:

 def xor_attmpt():
    message = raw_input("Enter message to be ciphered: ")
    cipher = []
    for i in message:
        cipher.append(bin(ord(i))[2::])#add the conversion of the letters/characters
#in your message from ascii to binary withoout the 0b in the front to your ciphered message list
    cipher = "".join(cipher) 
    privvyKey = raw_input("Enter the private key: ")
    keydecrypt = []
    for j in privvyKey:
        keydecrypt.append(bin(ord(j))[2::]) #same
    keydecrypt = "".join(keydecrypt )#same

    print "key is '{0}'" .format(keydecrypt) #substitute values in string
    print "encrypted text is '{0}'" .format(cipher)
    from operator import xor
    for letter in message:
        print xor(bool(cipher), bool(keydecrypt))

Diese:

>  for letter in message:
    print xor(bool(cipher), bool(keydecrypt))

ist, wo mein python beginnt schief zu gehen.

Die Ausgabe sieht wie folgt aus

    Enter message to be ciphered: hello
Enter the private key: \@154>
key is '10111001000000110001110101110100111110'
encrypted text is '11010001100101110110011011001101111'
False
False
False
False
False

Was ich bin Durcheinander, ist zu versuchen, um diese beiden binäre(Schlüssel und die verschlüsselten) verglichen werden und geben true(1) oder false(0). Die xor sollten, dann geben Sie mir eine resultierende 1 und 0 binären Liste durch den Vergleich der beiden. Jeder Eingang?

  • Wie ist Ihr privater Schlüssel, dargestellt in Python? Integer, string von bytes, etwas anderes? Letztlich sucht man bei der ^ operator für bitweise XOR-aber Sie müssen sicherstellen, dass Ihre Argumente kompatibel sind.
Schreibe einen Kommentar