diff --git a/maku-framework/src/main/java/net/maku/framework/security/crypto/Sm3PasswordEncoder.java b/maku-framework/src/main/java/net/maku/framework/security/crypto/Sm3PasswordEncoder.java new file mode 100644 index 0000000..8e9cb81 --- /dev/null +++ b/maku-framework/src/main/java/net/maku/framework/security/crypto/Sm3PasswordEncoder.java @@ -0,0 +1,23 @@ +package net.maku.framework.security.crypto; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.SmUtil; +import org.springframework.security.crypto.password.PasswordEncoder; + +/** + * 采用国密SM3加密算法,对系统密码进行加密 + * + * @author 阿沐 babamu@126.com + * MAKU + */ +public class Sm3PasswordEncoder implements PasswordEncoder { + @Override + public String encode(CharSequence rawPassword) { + return SmUtil.sm3(rawPassword.toString()); + } + + @Override + public boolean matches(CharSequence rawPassword, String encodedPassword) { + return StrUtil.equals(SmUtil.sm3(rawPassword.toString()), encodedPassword); + } +}