我们都知道,瀚高数据库安全版v4.5和企业版v6都支持国密sm3。一般我们在initdb的时候,会通过选项“-A sm3”来指定,这样的效果是创建用户或修改密码时,默认就会使用sm3取密码的散列值。我们也可以在后期添将密码动态改为md5。
例如,我们当前默认是md5,现在要添加一个用户,使用sm3,我们这样操作:
highgo=# show password_encryption;
password_encryption
---------------------
md5
(1 row)
highgo=# set password_encryption TO sm3 ;
SET
highgo=# create user test password 'Hello@123' valid until 'infinity';
CREATE ROLE
highgo=#
然后,我们还要配置pg_hba.conf文件:
# IPv4 local connections:
host all test 0.0.0.0/0 sm3 --新增的
host all all 0.0.0.0/0 md5
一定要记得将用户列为all的放到最后,否则会按由上向下的顺序去匹配校验策略。
由此可见,-A 指定的校验方式并不固定的,而是在使用过程中根据需要指定。
作业:
大家可以自己动手试试,默认的md5,如何改为sm3,都要做哪些操作?