2017-12-26 5 views
0

Ich verschlüssele einige Benutzerdaten (keine Passwörter) mit Crypto.Cipher AES.Store AESCipher Objekt in mySQL

Die Rückkehr ist ein AESCipher der Form:

b'o \ xab \ xdd \ x19 \ xaat \ xfcIAN \ xd2 \ x00 \ xe9'

manchmal erzeugt es Räume und Nicht-Hex-Darstellungen.

b "N%? \ X91 \ xe8'J \ XC0 \ x10 p"

b'QV8> K \ XD8 \ xfa \ X9a \ x05% \ xe8LJp \ xd0gf‘

Wenn ich versuche, diese Werte in die SQL-Tabelle als erstellt einzufügen:

data_encrypted VARBINARY(40) 

ich die folgende Warnung:

Warning: (1300, "Invalid utf8 character string: 'ABDD19'") 

Scheint so, als ob es das binäre Array trimmt, wenn ich die eingefügten Zeilen in der Tabelle abfrage, wurde die Zeile effektiv eingefügt, aber nur die ersten Bytes des Arrays, von b'o \ xab \ xdd \ x19 \ xaat \ xfcIAN \ xd2 \ x00 \ xe9 'fügt nur das' o 'ein.

Muss ich etwas anderes im Format angeben?

Dank

Antwort

0

eine _binary die Warnung self.cur.execute gelöst Hinzufügen ("INTO Mitglieder VALUES IGNORE INSERT (% s, _binary% s ...

Und ich Formatierung auch das Array um hex dargestellt zu werden, sieht es in der MySQL-Tabelle besser aus und die Entschlüsselung funktioniert immer noch ok binascii.b2a_hex

+0

Und ich formatiere auch das Array, um hexadezimal dargestellt zu werden, es sieht in der mysql-Tabelle besser aus und die Entschlüsselung funktioniert immer noch gut – EinSoldiatGott

Verwandte Themen