2013-03-11 38 views
0

我使用pyDes和psycopg2 Python庫將加密密碼保存到PostgreSql數據庫中。 對於給定的密碼,相應的DES值不可打印。如果我嘗試執行以下查詢如何在DES中插入加密值到Postgresql DB中?

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:0xA5的

我試圖用再版功能,但它不」:編碼「UTF8」無效字節序列工作。 我認爲錯誤是UTF8編碼無法識別加密密碼。 如何將這些數據插入數據庫? 謝謝

+2

DES?爲什麼,哦,爲什麼? – delnan 2013-03-11 21:45:04

回答

0
  1. 你不應該使用DES的任何東西。它已經過時,並建議反對。
  2. 除非實際需要解密,否則不應存儲加密的密碼。對於任何類型的登錄系統,您應該使用bcrypt
  3. 您的insert問題很可能是由於您試圖存儲加密的二進制數據。您可能忘記將加密值編碼爲base64字符串。