如何创建在日志中没有任何密码痕迹的Postgresql用户?

问题描述 投票:0回答:1

我对在C#应用程序中创建新的Postgresql数据库用户有疑问。如果我在psql中创建这样的用户:

create role foo with login;   \password foo

这将在客户端加密密码,因此日志中没有plainText。IRC社区论坛上的家伙建议我在正在使用的驱动程序(本例中为Npgsql)中查找类似PQencryptPasswordConn()的东西,但我似乎找不到类似的东西。

有人知道如何以与psql相同的安全方式创建用户吗?

c# postgresql npgsql
1个回答
0
投票

如果您使用的是md5密码“加密”,则只要您可以找到一个将md5哈希计算为十六进制的c#库,就可以轻松地自己完成此操作。加密的密码就是'md5' . md5_hex(password . username),其中.是字符串连接运算符。一旦有了它,您只需执行以下操作:

create role foo with login password 'md5258f951d4d9d3ea3854f265195f63dda'

我认为npgsql根本不支持使用scram身份验证,因此应该不需要使用npgsql设置scram加密的密码。

© www.soinside.com 2019 - 2024. All rights reserved.