database - PostgreSQL 中密码的数据类型是什么?

标签 database postgresql types

read有进行加密的数据类型,因此密码在您的数据库中是安全的。

我目前使用 varchar 来存储密码。我有一个想法,我应该以某种方式将 SHA-512 函数应用于密码并将该数据放在某个地方,以便删除纯文本密码。

但是,Perl 中的数据类型表明在 PostgreSQL 中有比 varchar 更好的方法。

PostgreSQL 中密码的数据类型是什么?

最佳答案

Jeff 有一篇很好的文章,标题为 You're Probably Storing Passwords Incorrectly .本文讨论了在数据库中存储密码的各种方法,以及您可能遇到的一些常见陷阱。特别是,它讨论了哈希算法、彩虹表的使用,以及“盐”的使用,以降低密码文件泄露的风险。

varchar 数据类型的使用非常适合存储正确散列的密码。例如,这是我在生产数据库中的实际帐户记录的一部分:

=> select account_id, email, salt, passhash from account where email = 'greg@hewgill.com';
 account_id |      email       |       salt       |                 passhash                 
------------+------------------+------------------+------------------------------------------
          1 | greg@hewgill.com | GFR9uT4N4Tzl3vnK | 2c2bf00079a6d49a8f7fb17cefb52fdb41a4b043
(1 row)

在这种情况下,passhash 是与我的密码连接的盐的 SHA-1 的十六进制表示。

关于database - PostgreSQL 中密码的数据类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1200326/

相关文章:

c# - 在 C# VS2008 项目中使用 sqlite 的数据访问方法?

json - 如何在 jOOQ 的 WHERE 条件下使用 Postgres JSON 运算符?

class - 使用其他方法创建 Ocaml 子类的正确方法是什么?

java - 如何在 java 中将 list<object> 转换为 list<MyType> ?

java - 使用 Eclipse Windows 10 访问 PostgreSQL 时出错

C# 泛型和类型检查混淆

arrays - 位图索引搜索结果数组 : finding the indices of nonzero elements in constant time?

mysql - ZF 最后插入的 ID 返回 '0'

mongodb - 选择/配置数据库以获得高吞吐量、可靠、一致的写入吞吐量,牺牲延迟

postgresql - 相交集的并集