PostgreSQL学习之SCRAM-SM3加密认证

        参考上一篇文章:PostgreSQL学习之SCRAM-SHA-256加密认证-CSDN博客

        如果将SCRAM-SHA-256中使用的底层算法sha256-hmac替换为sm3-hmac即可实现SCRAM-SM3,但这可能不是我们想要的,我们可能更想要两种SCRAM算法共存,其实也很简单。

        借用上一篇文章的流程图:

        从上图可知,要实现算法SCRAM-SM3,关键是修改scram_SaltedPassword、scram_ClientKey、scram_H、scram_ServerKey这几个函数,将默认的SHA256算法修改为根据参数选择SHA256-HMAC或者SM3-HMAC。

        因密码存储使用的加密算法决定了认证过程的流程,所以所需修改的代码不仅包括加密存储,还有认证流程。下面是所需修改的全部文件,如需全部代码请参考:PostgreSQL之SCRAM-SM3算法资源-CSDN文库(因暂未审核通过,请耐心等待几天)

src/backend/libpq/auth-scram.c
src/backend/libpq/auth.c
src/backend/libpq/crypt.c
src/backend/libpq/hba.c
src/backend/utils/adt/cryptohashfuncs.c
src/backend/utils/misc/guc.c
src/common/Makefile
src/common/cryptohash.c
src/common/hmac.c
src/common/scram-common.c
src/common/sm3.c
src/common/sm3_int.h
src/include/common/cryptohash.h
src/include/common/scram-common.h
src/include/common/sm3.h
src/include/libpq/crypt.h
src/include/libpq/hba.h
src/include/libpq/scram.h
src/include/pg_config.h.in~
src/interfaces/libpq/fe-auth-scram.c
src/interfaces/libpq/fe-auth.c
src/interfaces/libpq/fe-auth.h

 

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值