Я шифрую некоторые пользовательские данные (без паролей), используя Crypto.Cipher AES.
Возврат - это AES-шифр формы:
b'o\Xab\XDD\x19\xaat\xfcIAN\XD2\x00\xE9'
иногда он создает пробелы и не шестнадцатеричные представления.
b "N%?\x91\xe8'J\xc0\x10 p"
b'QV8> K\xd8\РФ\X9a\x05%\xe8LJp\xd0gf"
Когда я пытаюсь вставить эти значения в таблицу SQL, созданную как:
data_encrypted VARBINARY(40)
Я получаю следующее предупреждение:
Warning: (1300, "Invalid utf8 character string: 'ABDD19'")
Кажется, что он обрезает двоичный массив, когда я запрашиваю вставленные строки в таблице, строка была эффективно вставлена, но только первые байты массива, из b'o\xab\xdd\x19\xaat\xfcIAN\xd2\x00\xe9 'он вставляет только' o '.
Должен ли я указывать что-то еще в формате?
Спасибо
Добавление _binary разрешило предупреждение self.cur.execute("INSERT IGNORE INTO members VALUES (% s, _binary% s...
И я также форматирую массив, чтобы он был представлен шестью, он выглядит лучше в таблице MySQL, и дешифрование все еще работает ok binascii.b2a_hex