2017-12-26 17 views
0

私はCrypto.Cipher AESを使用していくつかのユーザーデータ(パスワードなし)を暗号化しています。AESCipherオブジェクトをmySQLに格納します

リターンは、フォームのAESCipherです:

B'O \ XAB \ XDD \ X19 \ xaat \ xfcIAN \ XD2 \ X00 \ XE9'

時にはそれがスペースを生成し、非16進表記。

B "のN%?\ X91 \ xe8'J \ XC0 \ X10のP"

b'QV8> K \ xd8 \ XFA \ x9a \ X05%\ xe8LJp \ xd0gf」

私のように作成されたSQLテーブルにこれらの値を挿入しようとすると:

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

data_encrypted VARBINARY(40) 

私は次の警告を取得します

テーブルの挿入された行を照会すると、行が効果的に挿入されたが、b'o \ xab \ xdd \ x19 \ xaat \ xfcIAN \の配列の最初のバイトだけがバイナリ配列をトリミングしているように見える。 xd2 \ x00 \ xe9 'は' o 'だけを挿入します。

他の形式で指定する必要はありますか? _binaryを追加

おかげ

答えて

0

は警告 self.cur.execute(「(メンバーの値に%sのIGNORE INSERTを解決し、_binary%sの...

そして、私はまた、配列をフォーマットしていますそれはMySQLのテーブルでよく見えますが、復号化はまだ有効です。ok binascii.b2a_hex

+0

また、16進表現で配列をフォーマットしています。 – EinSoldiatGott

関連する問題