From 75e6eea8cd3fac9cc888e2ffc9cdb126fab8429d Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Wed, 14 Aug 2024 15:45:55 +0800
Subject: [PATCH] 任务下发、更新、取消,优化图斑逻辑
---
src/main/java/com/dji/sample/droneairport/utils/SM4Util.java | 100 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 71 insertions(+), 29 deletions(-)
diff --git a/src/main/java/com/dji/sample/droneairport/utils/SM4Util.java b/src/main/java/com/dji/sample/droneairport/utils/SM4Util.java
index d16c04b..314bd76 100644
--- a/src/main/java/com/dji/sample/droneairport/utils/SM4Util.java
+++ b/src/main/java/com/dji/sample/droneairport/utils/SM4Util.java
@@ -24,7 +24,7 @@
*/
public static String generateSM4Key() {
SecureRandom secureRandom = new SecureRandom();
- byte[] sm4Key = new byte[16]; // SM4 密钥长度为 128 位(16 字节)
+ byte[] sm4Key = new byte[8]; // SM4 密钥长度为 128 位(16 字节)
secureRandom.nextBytes(sm4Key);
String key = bytesToHex(sm4Key);
return key;
@@ -112,33 +112,74 @@
// 原始明文
String plaintext = "{\n" +
- " \"deviceid\": [\n" +
- " \"1581F5BMD22CK0014H2U\",\n" +
- " \"1581F6QAD241800B6V95\"\n" +
- " ],\n" +
- " \"taskid\": \"b6e89a1e-5e89-4c9b-aa26-00faa4d8f568\",\n" +
- " \"tasklist\": [\n" +
- " {\n" +
- " \"bsm\": \"2028107171717717107171017\",\n" +
- " \"xzqdm\": \"310000\",\n" +
- " \"dkbh\": \"ndbg201102U0172710711\",\n" +
- " \"dklx\": \"ndbg2024\",\n" +
- " \"dkmc\": \"小桥头\",\n" +
- " \"dkmj\": 20.5,\n" +
- " \"dkfw\": \"MULTIPOLYGON(((115.86528871951153 28.625287925196325,115.86561708513025 28.625787612007546,115.86815834948467 28.624602640426623,115.86773004650362 28.62425999804172,115.86528871951153 28.625287925196325)))\",\n" +
- " \"bz\": null\n" +
- " },\n" +
- " {\n" +
- " \"bsm\": \"202810717171777\",\n" +
- " \"xzqdm\": \"310000\",\n" +
- " \"dkbh\": \"ndbg201102U011\",\n" +
- " \"dklx\": \"ndbg2024q\",\n" +
- " \"dkmc\": \"桥头\",\n" +
- " \"dkmj\": 27.5,\n" +
- " \"dkfw\": \"MULTIPOLYGON(((115.8537683547021 28.626198084066036,115.85362014017156 28.625905772075246,115.85325749115422 28.625530171307133,115.8532121556319 28.625552314192735,115.85285649743213 28.625719691357663,115.8526650611681 28.62581016383709,115.85251948537035 28.62587896210428,115.8524159923293 28.625927871721817,115.85236695899066 28.625953724319036,115.85242053528945 28.626032126827145,115.85243919323472 28.626059431385023,115.85258924149208 28.626287013655055,115.85275847878526 28.62654053983997,115.85281562628226 28.62662918289837,115.8537683547021 28.626198084066036)))\",\n" +
- " \"bz\": null\n" +
- " }\n" +
- " ]\n" +
+ " \"deviceid\": [\n" +
+ " \"1581F6QAD241800B6V95\",\n" +
+ " \"1581F5BMD22CK0014H2U\"\n" +
+ " ],\n" +
+ " \"bizidname\": \"南昌市西湖区图斑下发\",\n" +
+ " \"tasklist\": [\n" +
+ " {\n" +
+ " \"bsm\": \"2028107171717717107171017\",\n" +
+ " \"xzqdm\": \"310000\",\n" +
+ " \"dkbh\": \"ndbg201102U0172710711\",\n" +
+ " \"dklx\": \"ndbg2024\",\n" +
+ " \"dkmc\": \"小桥头\",\n" +
+ " \"dkmj\": 20.5,\n" +
+ " \"dkfw\": \"MULTIPOLYGON(((115.86528871951153 28.625287925196325,115.86561708513025 28.625787612007546,115.86815834948467 28.624602640426623,115.86773004650362 28.62425999804172,115.86528871951153 28.625287925196325)))\",\n" +
+ " \"bz\": null\n" +
+ " },\n" +
+ " {\n" +
+ " \"bsm\": \"207\",\n" +
+ " \"xzqdm\": \"31000\",\n" +
+ " \"dkbh\": \"n1\",\n" +
+ " \"dklx\": \"n4\",\n" +
+ " \"dkmc\": \"小桥\",\n" +
+ " \"dkmj\": 20.5,\n" +
+ " \"dkfw\": \"MULTIPOLYGON(((115.86262525992014 28.634623244731678,115.86214341906647 28.63383445340825,115.86164016306374 28.63418423417594,115.86204348170406 28.63485524217979,115.86262525992014 28.634623244731678)))\",\n" +
+ " \"bz\": null\n" +
+ " },\n" +
+ " {\n" +
+ " \"bsm\": \"20281071717177177\",\n" +
+ " \"xzqdm\": \"31000\",\n" +
+ " \"dkbh\": \"ndbg20110210711\",\n" +
+ " \"dklx\": \"ndbg2774\",\n" +
+ " \"dkmc\": \"桥头\",\n" +
+ " \"dkmj\": 20.574,\n" +
+ " \"dkfw\": \"MULTIPOLYGON(((115.86528871951153 28.625287925196325,115.86561708513025 28.625787612007546,115.86815834948467 28.624602640426623,115.86773004650362 28.62425999804172,115.86528871951153 28.625287925196325)))\",\n" +
+ " \"bz\": null\n" +
+ " },\n" +
+ " {\n" +
+ " \"bsm\": \"177177\",\n" +
+ " \"xzqdm\": \"3\",\n" +
+ " \"dkbh\": \"n1\",\n" +
+ " \"dklx\": \"ndbg2774\",\n" +
+ " \"dkmc\": \"大桥头\",\n" +
+ " \"dkmj\": 20.54,\n" +
+ " \"dkfw\": \"MULTIPOLYGON(((115.84891670917342 28.62884019080562,115.84861068074487 28.628310237250474,115.84801105657137 28.628543424429186,115.84836943314201 28.629060290948733,115.84891670917342 28.62884019080562)))\",\n" +
+ " \"bz\": null\n" +
+ " },\n" +
+ " {\n" +
+ " \"bsm\": \"177177\",\n" +
+ " \"xzqdm\": \"3\",\n" +
+ " \"dkbh\": \"n1\",\n" +
+ " \"dklx\": \"ndbg2774\",\n" +
+ " \"dkmc\": \"大桥头\",\n" +
+ " \"dkmj\": 20.54,\n" +
+ " \"dkfw\": \"MULTIPOLYGON(((115.85261028414699 28.628065910491646,115.85234952636368 28.627469892700983,115.85043542990357 28.628240439727712,115.85050295853954 28.62842805760428,115.85071376127738 28.628739229859185,115.85080329411801 28.628869938164858,115.85261028414699 28.628065910491646)))\",\n" +
+ " \"bz\": null\n" +
+ " }\n" +
+ ",\n" +
+ " {\n" +
+ " \"bsm\": \"177177\",\n" +
+ " \"xzqdm\": \"3\",\n" +
+ " \"dkbh\": \"n1\",\n" +
+ " \"dklx\": \"ndbg2774\",\n" +
+ " \"dkmc\": \"大桥头\",\n" +
+ " \"dkmj\": 20.54,\n" +
+ " \"dkfw\": \"MULTIPOLYGON(((115.85063001998248 28.61939504315339,115.85047227189142 28.619025124342414,115.8490255596 28.6190394011085,115.8491588094162 28.61949625762165,115.84966325514971 28.61989600707048,115.84993419451101 28.620007388652688,115.85063001998248 28.61939504315339)))\",\n" +
+ " \"bz\": null\n" +
+ " }\n" +
+ " ]\n" +
"}\n";
String secert =encrypt(key,plaintext.getBytes());
// System.out.println(secert);
@@ -148,7 +189,8 @@
byte[] text=decrypt(key,ming);
// System.out.println(new String(text, StandardCharsets.UTF_8));
System.out.println(encrypt("jsimjrby3wqb7dbq",plaintext));
-// System.out.println("封装"+decrypt("jsimjrby3wqb7dbq","9LFnVDdqleTOFcBJT7TSxs788zPH8PicodLb5634SsixHrKNX+ZAgwODPZxvWFNQ"));
+// System.out.println(generateSM4Key());
+// System.out.println("封装"+decrypt("8a217699714b0fc0","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"));
String encryptedBase64 = encrypt(key, plaintext.getBytes(StandardCharsets.UTF_8));
// System.out.println("Encrypted (Base64): " + encryptedBase64);
// System.out.println(generateSM4Key());
--
Gitblit v1.9.3