【发布时间】:2015-11-26 17:23:52
【问题描述】:
在 flask-bcrypt 扩展上,加密的字符串存储为字节对象,如 这个(使用 python 3.5):
>>> user.password
b'$2b$12$3UutBDuGIrxp2z95alVTp.0HO3qQEtk7O/emR0UC27aNaJKC/WCU.'
但是,当该字符串存储在 postgresql 上时,它会被转换并变得像 这个:
>>> user.password
'\\x243262243132244a546d7673453238354c754a497a4a334f37644a307559672f52796a486a526c4f443431536f387748544132303077447176555675'
当然,它不会通过flask-bcrypt检查密码。我试过encode
将密码保存到数据库之前以及每当调用检查密码时,我
解码回来。它有效。
我的问题是,我应该使用什么数据类型?我必须使用BLOB 数据吗
在postgresql上输入?还是我在上面所做的(encode 和 decode)是正确的做法?
我在使用 sqlite3 时没有这个问题。
【问题讨论】:
-
显示存储和检索这些值的代码
-
@ClodoaldoNeto 你的意思是用户模型吗?
-
应该存储为文本
标签: python postgresql bcrypt