From d91f59db481ae0faa3c16c08624a813cb7750d32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=8F=E5=B0=91=E9=98=B3?= <786612630@qq.com> Date: Mon, 14 Aug 2023 14:20:35 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E8=AF=95=E5=85=AC=E9=92=A5=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E5=82=A8=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blue/io_protocol/io_getPrivateKey.dart | 20 +++++++++++-------- .../lib/blue/io_protocol/io_getPublicKey.dart | 6 +++++- star_lock/lib/tools/storage.dart | 13 ++++++++++++ 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/star_lock/lib/blue/io_protocol/io_getPrivateKey.dart b/star_lock/lib/blue/io_protocol/io_getPrivateKey.dart index e627b56b..529da4ed 100644 --- a/star_lock/lib/blue/io_protocol/io_getPrivateKey.dart +++ b/star_lock/lib/blue/io_protocol/io_getPrivateKey.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'package:star_lock/blue/sm4Encipher/sm4.dart'; +import '../../tools/storage.dart'; import '../io_tool/io_tool.dart'; import 'io_reply.dart'; import 'io_sender.dart'; @@ -86,14 +87,17 @@ class GetPrivateKeyCommand extends SenderProtocol { authCodeData.add((d1 & 0xff00) >> 8); authCodeData.add((d1 & 0xff)); - // String pubKey = ""; - // Storage.getData("bluePublicKey").then((res) => { - // pubKey = res - // }); - // var pubKey = "ovOvAHuL5+dBCw7L3Qt7IQ=="; - // print("pubKey:$pubKey"); - // List pubKeyData = base64.decode(pubKey.toString()); - // print("pubKeyData:$pubKeyData"); + List getIntList; + Storage.getStringList("bluePublicKey").then((res) { + print("getStrList:$res"); + getIntList = changeStringListToIntList(res!); + print("getIntList:$getIntList"); + }); + + // List getStrList = Storage.getLocalStorage("bluePublicKey") as List; + // List getIntList = changeStringListToIntList(getStrList); + + // print("getIntList:$getIntList"); authCodeData.addAll(publicKeyData!); // 把KeyID、authUserID、时间戳、公钥通过md5加密之后就是authCode diff --git a/star_lock/lib/blue/io_protocol/io_getPublicKey.dart b/star_lock/lib/blue/io_protocol/io_getPublicKey.dart index 0831a925..01df7afd 100644 --- a/star_lock/lib/blue/io_protocol/io_getPublicKey.dart +++ b/star_lock/lib/blue/io_protocol/io_getPublicKey.dart @@ -50,7 +50,11 @@ class GetPublicKeyReply extends Reply { String stringEncoded = base64.encode(tokenData); print('获取公钥成功 publickey:$stringEncoded'); // 储存公钥 - // Storage.setData("bluePublicKey", stringEncoded); + var saveStrList = changeIntListToStringList(tokenData); + // Storage.setStringList("bluePublicKey", saveStrList); + Storage.setStringList("bluePublicKey", saveStrList); + // List getStrList = Storage.getLocalStorage("bluePublicKey") as List; + // print('获取储存的公钥 getStrList:$getStrList'); IoSenderManage.getPrivateKey("TMH_c3570480da8d", "1", "1", 1, tokenData, 1); break; case 0x07: diff --git a/star_lock/lib/tools/storage.dart b/star_lock/lib/tools/storage.dart index e0c5b5e0..3cd95157 100644 --- a/star_lock/lib/tools/storage.dart +++ b/star_lock/lib/tools/storage.dart @@ -5,6 +5,19 @@ import 'package:shared_preferences/shared_preferences.dart'; class Storage{ + // Storage._internal(); + // + // factory Storage() => _instance; + // + // static late final Storage _instance = Storage._internal(); + // + // static late SharedPreferences _preferences; + // + // static Future getInstance() async { + // _preferences = await SharedPreferences.getInstance(); + // return _instance; + // } + // ///存数据 // static Future setData(key, value) async { // SharedPreferences sp = await SharedPreferences.getInstance();