数据加密标准(DES)+ SPRING BOOT认证

时间:2016-01-21 11:52:41

标签: spring encryption spring-boot des

我正在从php平台迁移到Java。我拥有数据库,其中包含数据加密标准(DES)中存储密码的用户。我通常会使用自定义authenticationService执行类似的操作:

@Autowired
private AuthenticationServiceImpl authenticationService;

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

显然不会与bCrypt一起工作。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您需要编写自己使用DES的PasswordEncoder。它不应该是困难的,您可以搜索如何使用DES解密/加密数据(作为example)。

只是为了让您知道,加密密码是一种非常非常非常糟糕的做法(我建议将其置于犯罪之下),就像您的数据库和密钥被泄露一样,攻击者可以非常轻松地访问纯文本密码,并尝试重新使用其他网站上的登录详细信息。

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