Re: Modern SHA2- based password hashes for pgcrypto

From: Japin Li <japinli(at)hotmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Bernd Helmle <mailings(at)oopsware(dot)de>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Modern SHA2- based password hashes for pgcrypto
Date: 2025-02-07 08:17:11
Message-ID: ME0P300MB0445B934B42B8A2803F46309B6F12@ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 06 Feb 2025 at 11:20, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
> On 2025-Jan-28, Bernd Helmle wrote:
>
>> Python's passlib is very strict when it comes to supported characters
>> within a salt string. It rejects everything thats not matching '[./0-
>> 9A-Za-z]'. So when you provide the example above you get
>
> The reason it uses these chars is that in their scheme the salt bytes
> are base64-encoded.
>
> The passlib docs has this page about the "modular crypt format":
> https://passlib.readthedocs.io/en/stable/modular_crypt_format.html
>
> and they point this other page as a "modern, non-ambiguous standard":
> https://github.com/P-H-C/phc-string-format/blob/master/phc-sf-spec.md
> About the salt, this last document says:
>
> The role of salts is to achieve uniqueness. A random salt is fine for
> that as long as its length is sufficient; a 16-byte salt would work
> well (by definition, UUID are very good salts, and they encode over
> exactly 16 bytes). 16 bytes encode as 22 characters in B64. Functions
> should disallow salt values that are too small for security (4 bytes
> should be viewed as an absolute minimum).
>
> This "Password Hashing Competition" organization hardly seems an
> authority though. It'd be great to have an IETF standard about this ...

Yeah.

Since there is no standard, how do we handle this? I prefer to use the strict
mode like passlib.

--
Regrads,
Japin Li

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Gustafsson 2025-02-07 08:28:00 Re: [PATCH] Fix Potential Memory Leak in pg_amcheck Code
Previous Message Bertrand Drouvot 2025-02-07 08:05:41 Re: Fix assert failure when decoding XLOG_PARAMETER_CHANGE on primary