Ich muss den Eingabetext mit Python verschlüsseln und entschlüsseln, aber hier bekomme ich folgenden Fehler.Fehler beim Aufruf der Klassenmethode mit Python
Traceback (most recent call last):
File "crypto.py", line 21, in <module>
encrypt = AESCipher()
TypeError: __init__() takes exactly 2 arguments (1 given)
Ich erkläre meinen Code unten.
import base64
from Crypto.Cipher import AES
from Crypto import Random
class AESCipher:
def __init__(self, thecarkey):
self.key = key
def encrypt(self, raw):
raw = pad(raw)
iv = Random.new().read(AES.block_size)
cipher = AES.new(self.key, AES.MODE_CBC, iv)
return base64.b64encode(iv + cipher.encrypt(raw))
def decrypt(self, enc):
enc = base64.b64decode(enc)
iv = enc[:16]
cipher = AES.new(self.key, AES.MODE_CBC, iv)
return unpad(cipher.decrypt(enc[16:]))
encrypt = AESCipher()
passw = encrypt.encrypt('[email protected]')
print(passw)
Hier muss ich den Text verschlüsseln, die Crypto.Cipher
innerhalb der Klasse definiert wurden, aber die oben genannten Fehler.
Ich fühle mich wie die Fehlermeldung war offensichtlich genug zu lösen dieses Problem. Wie können Sie den obigen Code schreiben und nicht in der Lage sein, das Problem zu lösen? –