Możesz podać hasło już zahaszowane za pomocą md5
, jak wspomniano w dokumencie (UTWÓRZ ROLĘ):
ENCRYPTED UNENCRYPTED Te słowa kluczowe określają, czy hasło jest przechowywane w postaci zaszyfrowanej w katalogach systemowych. (Jeśli nie określono żadnej z tych opcji, domyślne zachowanie jest określane przez parametr konfiguracyjnypassword_encryption.) Jeśli prezentowany ciąg hasła jest już w formacie zaszyfrowanym MD5, jest przechowywany w postaci zaszyfrowanej , niezależnie od tego, czy określono zaszyfrowany lub nieszyfrowany (ponieważ system nie może odszyfrować określonego zaszyfrowanego ciągu hasła). Pozwala to na ponowne ładowanie zaszyfrowanych haseł podczas zrzutu/przywracania.
Brakuje tutaj informacji, że ciąg zaszyfrowany MD5 powinien być hasłem połączonym z nazwą użytkownika plus md5
na początku.
Na przykład, aby utworzyć u0
z hasłem foobar
, wiedząc, że md5('foobaru0')
to ac4bbe016b808c3c0b816981f240dcae
:
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';
a wtedy u0 będzie mógł się zalogować, wpisując foobar
jako hasło.
Nie sądzę, że obecnie istnieje sposób na użycie SHA-256
zamiast md5
dla haseł PostgreSQL.