数据加密标准 (DES) + SPRING BOOT 身​​份验证

Data Encryption Standard (DES) + a SPRING BOOT authentication

我正在从 php 平台迁移到 Java。我的数据库中充满了使用数据加密标准 (DES) 存储密码的用户。我通常会使用自定义 authenticationService 做这样的事情:

@Autowired
private AuthenticationServiceImpl authenticationService;

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(authenticationService)
        .passwordEncoder(new BCryptPasswordEncoder());
}

显然不会使用 bCrypt。有什么建议吗?

你需要自己写 PasswordEncoder which uses DES. It shouldn't be difficult and you can search how to decrypt/encrypt data with DES (as an example).

只是想让你知道,加密密码是一种非常非常非常糟糕的做法(我建议它接近于犯罪),就好像你的数据库和密钥一样被泄露,攻击者可以很容易地访问纯文本密码并尝试 re-use 其他站点上的登录详细信息。

由于您确实可以访问纯文本密码,请考虑将它们转换为 bcrypt 并删除 DES 加密密码(从您的数据库中,希望从您可能拥有的任何备份中)