From b7c05407dcf01cd7c01fde0efdf2a6a0283d4016 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Sat, 03 Aug 2024 17:50:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ht-dev' into ht-dev

---
 src/main/java/com/dji/sample/droneairport/utils/SM2/Utils.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/dji/sample/droneairport/utils/SM2/Utils.java b/src/main/java/com/dji/sample/droneairport/utils/SM2/Utils.java
new file mode 100644
index 0000000..3cf6efe
--- /dev/null
+++ b/src/main/java/com/dji/sample/droneairport/utils/SM2/Utils.java
@@ -0,0 +1,56 @@
+package com.dji.sample.droneairport.utils.SM2;
+
+import org.bouncycastle.crypto.InvalidCipherTextException;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+public class Utils {
+
+    /**
+     * get key pair
+     */
+    public static Map<String, String> createKeyPair() throws NoSuchAlgorithmException {
+        return SecretCommon.createKeyPair();
+    }
+
+    /**
+     * encrypt
+     * @param plainText 需加密的明文字符串
+     * @param publicKey 公钥
+     */
+    public static String encrypt(String plainText, String publicKey) throws IOException, InvalidCipherTextException {
+        return encrypt(plainText, publicKey, ModeTypeConstant.BASE);
+    }
+
+    /**
+     * encrypt
+     * @param plainText 需加密的明文字符串
+     * @param publicKey 公钥
+     * @param modeType base:标准;bc:BC模式
+     */
+    public static String encrypt(String plainText, String publicKey, String modeType) throws IOException, InvalidCipherTextException {
+        return SecretCommon.encrypt(plainText, publicKey, ModeTypeConstant.getMode(modeType));
+    }
+
+    /**
+     * decrypt
+     * @param cipherText 需加密的字符串
+     * @param privateKey 私钥
+     */
+    public static String decrypt(String cipherText, String privateKey) throws InvalidCipherTextException, UnsupportedEncodingException {
+        return decrypt(cipherText, privateKey, ModeTypeConstant.BASE);
+    }
+
+    /**
+     * decrypt
+     * @param cipherText 需加密的字符串
+     * @param privateKey 私钥
+     * @param modeType base:标准;bc:BC模式
+     */
+    public static String decrypt(String cipherText, String privateKey, String modeType) throws InvalidCipherTextException, UnsupportedEncodingException {
+        return SecretCommon.decrypt(cipherText, privateKey, ModeTypeConstant.getMode(modeType));
+    }
+
+}

--
Gitblit v1.9.3