package com.yfd.platform.utils.sm3;

import lombok.extern.slf4j.Slf4j;

import java.io.IOException;

@Slf4j
public class SM3Utils {

    /**
     * sm3算法加密，不可逆加密
     * @param plainText 需加密的明文字符串
     * @return 加密后固定长度64的16进制字符串
     */
    public static String encrypt(String plainText) {
        return SecretCommon.encrypt(plainText);
    }

    /**
     * sm3算法加密，检测密码是否一致
     * @param plainText 需加密的明文字符串
     * @param cryptText 已加密字符串
     * @return 判断是否匹配
     */
    public static boolean matches(String plainText,String cryptText) {
        String newcrptString=encrypt(plainText);
        boolean matches=false;
        if(newcrptString.equals(cryptText)){
            matches=true;
        }
        return matches;
    }

    /**
     * sm3算法通过密钥进行加密，不可逆加密
     * @param keyText 密钥字符串
     * @param plainText 需加密的明文字符串
     * @return 加密后固定长度64的16进制字符串
     */
    public static String encryptByKey(String keyText, String plainText) {
        return SecretCommon.encryptByKey(keyText, plainText);
    }


}
