An other way to bypass double encoding is simply to change it just before login
Code:
DaoAuthenticationProvider daoProvider = ((DaoAuthenticationProvider)SpringApplicationContext.getBean("daoAuthenticationProvider"));
daoProvider.setPasswordEncoder((PasswordEncoder)SpringApplicationContext.getBean("plainTextPasswordEncoder"));
daoProvider.setSaltSource(null);
and then reactive it :
Code:
daoProvider.setPasswordEncoder((PasswordEncoder)SpringApplicationContext.getBean("md5PasswordEncoder"));
daoProvider.setSaltSource((SaltSource)SpringApplicationContext.getBean("reflectionSaltSource"));