src/main/java/cn/jiguang/common/utils/sm2/SM2Util.java
public static byte[] encrypt(String srcData, String publicKey) throws Exception {
        if (RUNNING_PUBLIC_KEY == null) {
            try {
                LOCK.lock();
                if (RUNNING_PUBLIC_KEY == null) {
                    ECPoint ecPoint = CURVE.decodePoint(Base64.decode(publicKey.toCharArray()));
                    RUNNING_PUBLIC_KEY = new ECPublicKeyParameters(ecPoint, DOMAIN_PARAMS);
                }
            } catch (Exception e) {
                throw new RuntimeException("init public key error", e);
            } finally {
                LOCK.unlock();
            }
        }
        return encrypt(RUNNING_PUBLIC_KEY, srcData.getBytes());
    }
public static byte[] encrypt(String srcData, String publicKey) throws Exception {
        if (RUNNING_PUBLIC_KEY == null) {
            try {
                LOCK.lock();
                if (RUNNING_PUBLIC_KEY == null) {
                    ECPoint ecPoint = CURVE.decodePoint(Base64.decode(publicKey.toCharArray()));
                    RUNNING_PUBLIC_KEY = new ECPublicKeyParameters(ecPoint, DOMAIN_PARAMS);
                }
            } catch (Exception e) {
                throw new RuntimeException("init public key error", e);
            } finally {
                LOCK.unlock();
            }
        }
        return encrypt(RUNNING_PUBLIC_KEY, srcData.getBytes());
    }
public static byte [ ] encrypt ( String srcData , String publicKey ) throws Exception { if ( RUNNING_PUBLIC_KEY == null ) { try { LOCK . lock ( ) ; if ( RUNNING_PUBLIC_KEY == null ) { ECPoint ecPoint = CURVE . decodePoint ( Base64 . decode ( publicKey . toCharArray ( ) ) ) ; RUNNING_PUBLIC_KEY = new ECPublicKeyParameters ( ecPoint , DOMAIN_PARAMS ) ; } } catch ( Exception e ) { throw new RuntimeException ( "init public key error" , e ) ; } finally { LOCK . unlock ( ) ; } } return encrypt ( RUNNING_PUBLIC_KEY , srcData . getBytes ( ) ) ; }
加密数据
@param srcData
@param publicKey
@return
@throws Exception
加密数据