Bạn có thể cung cấp mật khẩu đã được băm bằng md5
, như đã nói trong tài liệu (VAI TRÒ TẠO):
ENCRYPTED UNENCRYPTED Những từ khóa này kiểm soát việc mật khẩu được lưu trữ có được mã hóa trong danh mục hệ thống hay không. (Nếu cả hai đều không được chỉ định, thì hành vi mặc định được xác định bởi tham số cấu hìnhpassword_encryption.) Nếu chuỗi mật khẩu được trình bày đã ở định dạng được mã hóaMD5, thì nó được lưu trữ mã hóa nguyên trạng , bất kể ENCRYPTED hay UNENCRYPTED được chỉ định (vì hệ thống không thể giải mã chuỗi mật khẩu đã mã hóa được chỉ định). Điều này cho phép tải lại mật khẩu được mã hóa trong quá trình kết xuất / khôi phục.
Thông tin bị thiếu ở đây là chuỗi được mã hóa MD5 phải là mật khẩu được nối với tên người dùng, cộng với md5
ở phần đầu.
Vì vậy, ví dụ để tạo u0
với mật khẩu foobar
, biết rằng md5('foobaru0')
là ac4bbe016b808c3c0b816981f240dcae
:
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';
và sau đó u0 sẽ có thể đăng nhập bằng cách nhập foobar
làm mật khẩu.
Tôi không nghĩ rằng hiện tại có cách sử dụng SHA-256
thay vì md5
cho mật khẩu PostgreSQL.