Python bcrypt和postgresql。应该使用什么数据类型?

Python bcrypt和postgresql。应该使用什么数据类型?,python,postgresql,bcrypt,Python,Postgresql,Bcrypt,在flask bcrypt扩展上,加密字符串存储为字节对象,如 这(使用python 3.5): 但是,当这个字符串存储在postgresql上时,它被转换成 这: 当然,它不会通过bcrypt检查密码。我试着对代码进行编码 在将密码保存到数据库之前以及每当调用“检查密码”时 把它解码回来。它是有效的 我的问题是,我应该使用什么数据类型?我必须使用BLOB数据吗 输入postgresql?或者我上面所做的(encode和decode)是正确的吗? 我在使用sqlite3时没有这个问题。我有一个类

在flask bcrypt扩展上,加密字符串存储为字节对象,如 这(使用python 3.5):

但是,当这个字符串存储在postgresql上时,它被转换成 这:

当然,它不会通过bcrypt检查密码。我试着对代码进行编码 在将密码保存到数据库之前以及每当调用“检查密码”时 把它解码回来。它是有效的

我的问题是,我应该使用什么数据类型?我必须使用
BLOB
数据吗 输入postgresql?或者我上面所做的(
encode
decode
)是正确的吗?
我在使用sqlite3时没有这个问题。

我有一个类似的问题,我在Postgresql中使用BYTEA数据类型解决了这个问题。我认为在Postgre中将字节数组写入VARCHAR数据类型时会出现问题。这可能与数据库编码以及从字节到varchar转换的详细信息有关。

您需要将字节转换为字符串(因为所有字节都是ascii字符),然后可以将其存储在文本(或其他字符类型)中列

显示存储和检索这些数据的代码values@ClodoaldoNeto您的意思是用户模型?应存储为文本吗
>>> user.password
b'$2b$12$3UutBDuGIrxp2z95alVTp.0HO3qQEtk7O/emR0UC27aNaJKC/WCU.'
>>> user.password
'\\x243262243132244a546d7673453238354c754a497a4a334f37644a307559672f52796a486a526c4f443431536f387748544132303077447176555675'