ich habe mit DjangoRestFramework einen Test-Service gebaut, der Verschlüsselung und Entschlüsselung simulieren soll.
Es gibt zwei Endpunkte: /encryption und /decryption. Ich nutze AES im CFB mode mit Initialisierungsvektor (der ist immer gleich), das ist aber irrelevant.
Wenn ich jetzt an /encryption eine Request schicke
Code: Alles auswählen
{
"input": "Das ist ein anderer Test2"
}
Code: Alles auswählen
cipher = AES.new(aes_key, AES.MODE_CFB, iv=iv)
encrypted_data = cipher.encrypt(data['input'].encode('latin-1'))
data['output'] = encrypted_data.decode('latin-1')
#Serializer-Gedöns...
Code: Alles auswählen
{
"id": 11,
"input": "Das ist ein anderer Test2",
"output":"D}§oÃ
¹¾tð>Y^?Aã\u000bð\\gÎ",
"iv":"Cô]\rÑb*ç[ô[Ê×",
"created_at": "2022-06-26T07:18:58.333523Z",
"updated_at": "2022-06-26T07:18:58.334019Z"
}
Wenn ich nun aber den verschlüsselten Outputwert nehme und in Postman dann an /decryption schicke
Code: Alles auswählen
{
"input": "D}§oÃ
¹¾tð>Y^?Aã\u000bð\\gÎ"
}
Code: Alles auswählen
{
"detail": "JSON parse error - Invalid control character at: line 2 column 16 (char 17)"
}
Kann man da etwas machen?