【发布时间】:2012-01-29 00:37:52
【问题描述】:
PostgreSQL 只有 MD5 用于加密存储密码。
从阅读黑客日志来看,单独使用 MD5 似乎不是一种非常安全的密码存储方式。
我一直在使用 MD5 的 MD5 — 一次在客户端使用 MD5,然后在数据库再次使用 MD5 — 但我不知道这会更强大。
首先,是否有必要加强存储密码?其次,什么是简单、有效、跨语言的方法?
【问题讨论】:
-
投票结束:您介意解释一下您的理由吗?
-
存储过程的广泛使用,因此传统上在移植到应用程序级别之前在 db 级别测试所有内容。也许你是对的——也许我的方法让我对显而易见的事情视而不见。
-
当然,你也可以使用
pgcrypto:postgresql.org/docs/8.3/static/pgcrypto.html……但如果是我,我只会在应用程序级别这样做:) -
pgcrypto - 也由 @plundra 链接 - 看起来很棒。我个人感觉更好的是,无论应用程序错误如何,数据库都会始终加密敏感信息,但是将所有应用程序代码放在一个地方也很有意义。
-
MD5 不是一种加密方法;请注意此处使用的术语,可能会导致误解
标签: security postgresql encryption passwords