spring security 預設使用BCrypt , 但是舊的系統使用md5 hash,
 @Bean
    PasswordEncoder passwordEncoder() {
        PasswordEncoder defaults = PasswordEncoderFactories.createDelegatingPasswordEncoder();
        Map<String, PasswordEncoder> encoderMap = new HashMap<>();
        encoderMap.put("MD5", new MessageDigestPasswordEncoder("MD5"));
        DelegatingPasswordEncoder delegatingPasswordEncoder = new DelegatingPasswordEncoder("MD5", encoderMap);
        delegatingPasswordEncoder.setDefaultPasswordEncoderForMatches(defaults);
        return delegatingPasswordEncoder;
    }
String rawPassword = "123456";
String oldMd5Passwd = String.format("{MD5}%s","e10adc3949ba59abbe56e057f20f883e");
String newMd5Passwd = passwordEncoder.encode(rawPassword);
logger.info(String.valueOf(passwordEncoder.matches(rawPassword,oldMd5Passwd)));
原資料庫裡經md5的密碼欄位要加上{MD5}
以密碼123456為例, 要存成 "{MD5}e10adc3949ba59abbe56e057f20f883e"
記得要存成小寫, 這裡卡關很久
https://emn178.github.io/online-tools/md5.html
https://www.cnblogs.com/cycheng/p/13984640.html

