diff --git a/src/main/java/com/eactive/apim/portal/custom/config/KjbPasswordEncoder.java b/src/main/java/com/eactive/apim/portal/custom/config/KjbPasswordEncoder.java index 2be694d..07ec846 100644 --- a/src/main/java/com/eactive/apim/portal/custom/config/KjbPasswordEncoder.java +++ b/src/main/java/com/eactive/apim/portal/custom/config/KjbPasswordEncoder.java @@ -1,19 +1,24 @@ package com.eactive.apim.portal.custom.config; import com.eactive.ext.kjb.safedb.KjbSafedbWrapper; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; public class KjbPasswordEncoder implements PasswordEncoder { + + private final BCryptPasswordEncoder bcryptEncoder = new BCryptPasswordEncoder(); + @Override public String encode(CharSequence rawPassword) { + String bcryptHash = bcryptEncoder.encode(rawPassword); KjbSafedbWrapper safedb = KjbSafedbWrapper.getInstance(); - return safedb.encryptPassword(rawPassword.toString()); + return safedb.encryptNotRnnoString(bcryptHash); } @Override public boolean matches(CharSequence rawPassword, String encodedPassword) { KjbSafedbWrapper safedb = KjbSafedbWrapper.getInstance(); - String encoded = safedb.encryptPassword(rawPassword.toString()); - return encoded.equals(encodedPassword); + String bcryptHash = safedb.decryptNotRnno(encodedPassword); + return bcryptEncoder.matches(rawPassword, bcryptHash); } }