Хранить объект AESCipher в mySQL

0

Я шифрую некоторые пользовательские данные (без паролей), используя 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 '.

Должен ли я указывать что-то еще в формате?

Спасибо

Теги:
aes
binary

1 ответ

0
Лучший ответ

Добавление _binary разрешило предупреждение self.cur.execute("INSERT IGNORE INTO members VALUES (% s, _binary% s...

И я также форматирую массив, чтобы он был представлен шестью, он выглядит лучше в таблице MySQL, и дешифрование все еще работает ok binascii.b2a_hex

  • 0
    И я также форматирую массив для представления в шестнадцатеричном виде, он выглядит лучше в таблице MySQL и расшифровка все еще работает нормально

Ещё вопросы

Сообщество Overcoder
Наверх
Меню