Commit ad14919a authored by Peter Eisentraut's avatar Peter Eisentraut

doc: Update mentions of MD5 in the documentation

Reported-by: default avatarShay Rojansky <roji@roji.org>
parent cf1cba31
...@@ -2023,16 +2023,18 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 ...@@ -2023,16 +2023,18 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term>Password Storage Encryption</term> <term>Password Encryption</term>
<listitem> <listitem>
<para> <para>
By default, database user passwords are stored as MD5 hashes, so Database user passwords are stored as hashes (determined by the setting
the administrator cannot determine the actual password assigned <xref linkend="guc-password-encryption"/>), so the administrator cannot
to the user. If MD5 encryption is used for client authentication, determine the actual password assigned to the user. If SCRAM or MD5
the unencrypted password is never even temporarily present on the encryption is used for client authentication, the unencrypted password is
server because the client MD5-encrypts it before being sent never even temporarily present on the server because the client encrypts
across the network. it before being sent across the network. SCRAM is preferred, because it
is an Internet standard and is more secure than the PostgreSQL-specific
MD5 authentication protocol.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
...@@ -2086,24 +2088,6 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 ...@@ -2086,24 +2088,6 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>Encrypting Passwords Across A Network</term>
<listitem>
<para>
The <literal>MD5</literal> authentication method double-encrypts the
password on the client before sending it to the server. It first
MD5-encrypts it based on the user name, and then encrypts it
based on a random salt sent by the server when the database
connection was made. It is this double-encrypted value that is
sent over the network to the server. Double-encryption not only
prevents the password from being discovered, it also prevents
another connection from using the same encrypted password to
connect to the database server at a later time.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>Encrypting Data Across A Network</term> <term>Encrypting Data Across A Network</term>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment