Я пытаюсь сериализовать байтовый объект - вектор инициализации для шифрования моей программы. Но буфер протокола Google принимает только строки. Кажется, что ошибка начинается с приведения байтов к строке. Я использую правильный метод для этого? Спасибо за любую помощь или руководство!
Или также я могу сделать Вектор инициализации строковым объектом для шифрования в режиме AES-CBC?
Код
- Преобразование байтов в строку
string_iv = str(bytes_iv, 'utf-8')
- Сериализация строки с использованием SerializeToString ():
serialized_iv = IV.SerializeToString()
- Используйте ParseToString () для восстановления строки:
IV.ParseFromString( serialized_iv )
- И, наконец, UTF-8 кодирует строкуобратно в байты:
bytes_iv = bytes(IV.string_iv, encoding= 'utf-8')
Ошибка
string_iv = str (bytes_iv, 'utf-8 ') UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0x9b в позиции 3: недопустимый начальный байт