scram-sha-256加密
scram-sha-256加密
1 pg10以及更高的版本才可以使用scram-sha-256加密算法
2 pg14版本以后,默认的密码加密算法就是scram-sha-256
一 pg14之前版本要由md5升级到scram-sha-256
步骤一:
在postgresql.conf中设置password_encryption = ‘scram-sha-256’;
说明:在Postgresql.conf参数文件中,有一个password_encryption参数,该参数决定了密码怎么被hash。此时,该参数默认设置为md5。
reload以便修改生效(不需要restart)
步骤二:给某些用户升级成scram-sha-256
可以查看哪些用户需要修改成scram-sha-256加密方式
SELECTrolname, rolpassword ~ '^SCRAM-SHA-256\$' AS has_upgraded
FROM pg_authid
WHERE rolcanlogin;
是f则需要升级,是t则不需要升级
注:如果pg_hba.conf还保持原样,那么旧用户登录不影响,新的用户将是scram-sha-256加密方式,或者改过密码的旧用户将是scram-sha-256加密方式
但如果pg_hba.conf整体先改成scram-sha-256,而旧用户没有更新密码,那么旧用户将无法登录
给需要升级的用户重置密码
\password username
为了简化升级,即使选择了md5作为身份验证方法,应用程序仍然可以执行SCRAM验证
如果用户帐户的密码已经升级到SCRAM验证程序,则即使md5是身份验证方法,它也将使用SCRAM身份验证
步骤三:
让所有用户设置新口令并且在pg_hba.conf中将认证方法说明改为scram-sha-256。
步骤四:
查看某个用户的密码是否是scram-sha-256认证加密连接方式
select oid,rolname,rolpassword from pg_authid;
二 pg14及之后版本
直接就是scram-sha-256加密方式,无需升级