0

暗号化されたパスワードを PostgreSql データベースに保存するために、pyDes および psycopg2 Python ライブラリを使用しています。特定のパスワードの場合、対応する DES 値は出力できません。次のクエリを実行しようとすると

INSERT INTO users (id,name,pwd,pass) VALUES ('0101','asino','asinello','?\xa5\x9aO\xbd\x10\xa3\x85\xfa6\xf8_\xfb\x91\x95\xe2')

次のエラーがあります: psycopg2.DataError: "UTF8" をエンコードするための無効なバイト シーケンス: 0xa5

repr 関数を使用しようとしましたが、機能しません。エラーは、暗号化されたパスワードが UTF8 エンコーディングで認識されないことだと思います。このデータをデータベースに挿入するにはどうすればよいですか?

4

1 に答える 1

0
  1. DES は何にも使用しないでください。これは時代遅れであり、反対することをお勧めします。
  2. 実際に暗号化を解除する必要がない限り、暗号化されたパスワードを保存しないでください。どのような種類のログイン システムでも、使用する必要があります。bcrypt
  3. あなたのinsert問題は、暗号化されたバイナリ データを保存しようとしていることが原因である可能性が最も高いです。暗号化された値を base64 文字列にエンコードするのを忘れた可能性があります。
于 2013-03-11T21:56:03.467 に答える