如何使用DES将加密值插入Postgresql DB?

时间:2013-03-11 21:42:39

标签: python psycopg2 des

我使用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:用于编码“UTF8”的无效字节序列:0xa5

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

1 个答案:

答案 0 :(得分:0)

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