【发布时间】:2018-04-21 08:24:19
【问题描述】:
我有一个包含 MD5(旧资料)和 BCrypt 密码的用户表。我想将 MD5 密码迁移到 BCrypt,而不是暴力破解它们。我考虑过在成功验证时重新加密密码。
但是(到目前为止,在我的调查中),如果我在 authentication-manager 声明中禁用 erase-credentials,我只能(从登录页面)获得明确的密码。在这种情况下,我不仅可以从我的自定义 AuthenticationSuccessHandler 访问凭据信息,还可以从我的应用程序中的任何位置访问凭据信息(使用 SecurityContextHolder.getContext().getAuthentication() )。
有没有办法仅在成功验证时访问明文密码?或者您是否知道一种无需用户操作(更改密码等)即可重新加密密码的更好方法?
谢谢
【问题讨论】:
标签: java spring encryption spring-security