如何生成 AuthenticationMD5Password 消息

How to generate an AuthenticationMD5Password message

我正在用 gdscript 创建一个 postgresql 客户端(即使你不知道如何在 gdscript 中编码,你也可以回答我的问题)。

为此,我使用了 postgresql 协议 specification

我设法联系了服务器,它要求我提供“AuthenticationMD5Password”,但我无法识别自己的身份。我按照页面上描述的程序生成密码,但出现服务器错误。

使用我在 gdscript 中改编的这个 sql 公式:

concat('md5', md5(concat(md5(concat(password, username)), random-salt)))

“密码”值为“test”,“用户名”值为“test”,“random-salt”值为“98dec364”。

我们得到:md5936597c6b72ab2681ca01dca38b17da0

我收到以下错误消息:用户“test”的密码验证失败 SQLSTATE 代码:28P01

好像来自salt,格式真的是十进制字符串吗?我尝试将其翻译成 utf8,但它不起作用,在此先感谢。

盐不是8个十六进制数字,是4个字节。它们只是二进制字节,所以它们没有字符集。