如何实现Security框架下兼容多种用户密码加密策略?

2026-05-20 23:560阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计898个文字,预计阅读时间需要4分钟。

如何实现Security框架下兼容多种用户密码加密策略?

1. 说明:当已经上线的系统存在使用其他加密方式的加密数据,且密码不可逆,时,新的数据采用其他加密方式,且需要同时兼容多种加密方式的密码校验。

例如下列几种:- 密码学散列- 公钥加密- 同态加密- 软硬件安全模块(HSM)加密

一、说明

当已上线的系统存在使用其他的加密方式加密的密码数据,并且密码 不可逆 时,而新的数据采用了其他的加密方式,则需要同时兼容多种加密方式的密码校验。

例如下列几种情况:

  • 旧系统用户的密码采用了 MD5 的加密方式,而升级框架后的新系统则采用 BCrypt 的加密方式;
  • 当割接历史数据后会存在用户表中密码的 加密方式不统一 的问题,历史数据为 MD5 新数据为 BCrypt;
  • 所以需要系统支持同时兼容多种加密方式的密码校验。
  • 本文分享基于Security的PasswordEncoder来实现兼容多套用户密码加密方式。

     

    二、DelegatingPasswordEncoder

    在 spring Security 5.0之后,默认的密码加密方案其实是 DelegatingPasswordEncoder 它是一个代理类,而并非一种全新的密码加密方案,可以用来代理多种不同的密码加密方案。

    阅读全文

    本文共计898个文字,预计阅读时间需要4分钟。

    如何实现Security框架下兼容多种用户密码加密策略?

    1. 说明:当已经上线的系统存在使用其他加密方式的加密数据,且密码不可逆,时,新的数据采用其他加密方式,且需要同时兼容多种加密方式的密码校验。

    例如下列几种:- 密码学散列- 公钥加密- 同态加密- 软硬件安全模块(HSM)加密

    一、说明

    当已上线的系统存在使用其他的加密方式加密的密码数据,并且密码 不可逆 时,而新的数据采用了其他的加密方式,则需要同时兼容多种加密方式的密码校验。

    例如下列几种情况:

  • 旧系统用户的密码采用了 MD5 的加密方式,而升级框架后的新系统则采用 BCrypt 的加密方式;
  • 当割接历史数据后会存在用户表中密码的 加密方式不统一 的问题,历史数据为 MD5 新数据为 BCrypt;
  • 所以需要系统支持同时兼容多种加密方式的密码校验。
  • 本文分享基于Security的PasswordEncoder来实现兼容多套用户密码加密方式。

     

    二、DelegatingPasswordEncoder

    在 spring Security 5.0之后,默认的密码加密方案其实是 DelegatingPasswordEncoder 它是一个代理类,而并非一种全新的密码加密方案,可以用来代理多种不同的密码加密方案。

    阅读全文