0

我正在使用 pyDes 和 psycopg2 Python 库将加密密码保存到 PostgreSql 数据库中。对于给定的密码,相应的 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: invalid byte sequence for encoding "UTF8": 0xa5

我尝试使用 repr 功能,但它不起作用。我认为错误是UTF8编码无法识别加密密码。如何将这些数据插入数据库?

4

1 回答 1

0
  1. 您不应该将 DES 用于任何事情。它已过时,建议不要使用。
  2. 除非您确实需要解密密码,否则不应存储加密密码。对于任何类型的登录系统,您应该使用bcrypt
  3. 您的insert问题很可能是由于您尝试存储加密的二进制数据。您可能忘记将加密值编码为 base64 字符串。
于 2013-03-11T21:56:03.467 回答