PostgreSQL中的自动密码哈希

时间:2016-05-03 18:50:30

标签: postgresql password-hash pgcrypto

过去几周我一直在使用PostgreSQL,我一直很喜欢它!

我使用crypt()和gen_salt()来生成密码哈希,方法是将其添加到插入查询中,如下所示:

crypt(:password, gen_salt('bf', 8))

同样对于我选择使用的东西:

crypt(:password, u.password)

我希望通过自动化表的密码列上的哈希来简化我的SQL代码,而不是SQL查询或其他功能。

更清楚的是,当我在表中插入一行时,我希望它立即转换哈希/比较。

有办法吗?如果是的话,这会是明智的吗?

1 个答案:

答案 0 :(得分:1)

我不会评论"那会是明智的吗?"问题的一部分(不是因为我认为这是不明智的,而是因为我不太了解你的需求)。

如果要在INSERT或UPDATE期间自动计算列值,则需要触发器(请参阅CREATE TRIGGER)

如果要在SELECT期间自动计算列值,则需要一个视图(参见CREATE VIEW)。

还有其他方法可以实现您的要求,但触发器和视图可能是最直接的机制。