だから私はハッシュとソルトを保存しようとしています。ハッシュとソルトを生成するコードは次のようになります。
from pbkdf2.pbkdf2 import PBKDF2
import os
salt = os.urandom(64) # 512-bit salt
hash = PBKDF2(password, salt).read(64) # 512-bit key
これにより、長さ 512 のバイトが得られます。ただし、それらをmysqlデータベースに保存しようとすると、問題が発生します。Python 2.7のソリューションは
salt.encode('utf-8')
hash.encode('utf-8')
しかし、それはpython3では機能しません。私は現在試しています
"'"+salt.decode('utf-8', 'ignore')+"', '"+hash.decode('utf-8', 'ignore')+"'"
私の挿入文字列では、しかし、私はエラーが発生します:
latin-1' コーデックは、位置 158 の文字 '\u06e0' をエンコードできません: 序数が範囲内にありません (256)
mysql データベースにバイトを格納する方法についてのアイデアはありますか?
編集: varchar(512) と blob(512) の両方を使用してみました