diff --git a/src/main/java/com/eactive/ext/kjb/spring/KjbSafedbPasswordEncoder.java b/src/main/java/com/eactive/ext/kjb/spring/KjbSafedbPasswordEncoder.java index 12bf7c6..9314800 100644 --- a/src/main/java/com/eactive/ext/kjb/spring/KjbSafedbPasswordEncoder.java +++ b/src/main/java/com/eactive/ext/kjb/spring/KjbSafedbPasswordEncoder.java @@ -1,19 +1,23 @@ package com.eactive.ext.kjb.spring; import com.eactive.ext.kjb.safedb.KjbSafedbWrapper; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; public class KjbSafedbPasswordEncoder 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); } }