National secret encryption algorithm M2

Encryption Algorithm:

public class EncryptUtil {

    private String key = "sldkjfoisuerfj54565dsfgkjldijglksdfg455645sdfksdjkfposd455555488978465546sdlkfsdkjlfsdjkl";

    private static EncryptUtil instance;

    public static synchronized EncryptUtil getInstance() {
        if (instance == null) {
            synchronized (EncryptUtil.class) {
                instance = new EncryptUtil();
            }
        }
        return instance;
    }

    /**
     * M2加密
     *
     * @param str
     * @return
     */
    public String getEncryptM2(String str) {
        X9ECParameters sm2ECParameters = GMNamedCurves.getByName("sm2p256v1");
        ECDomainParameters domainParameters = new ECDomainParameters(sm2ECParameters.getCurve(), sm2ECParameters.getG(), sm2ECParameters.getN());
        //提取公钥点
        ECPoint pukPoint = sm2ECParameters.getCurve().decodePoint(Hex.decode(key));
        //刚才的私钥Hex,先还原私钥
        ECPublicK

Guess you like

Origin blog.csdn.net/xiaopihair123/article/details/134734853