From b6a5c11764501805c1451b2b75d09686a1cbf7e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E6=B2=90?= Date: Sat, 24 Feb 2024 12:19:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E7=94=A8=E5=9B=BD=E5=AF=86SM3?= =?UTF-8?q?=E5=8A=A0=E5=AF=86=E7=AE=97=E6=B3=95=EF=BC=8C=E5=AF=B9=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=AF=86=E7=A0=81=E8=BF=9B=E8=A1=8C=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../security/crypto/Sm3PasswordEncoder.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 maku-framework/src/main/java/net/maku/framework/security/crypto/Sm3PasswordEncoder.java 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); + } +}