From b4a9c73a3d0e77203567b371cdc9c3178e0762a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=81?= Date: Mon, 21 Sep 2020 14:27:56 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E-=E8=A7=A3=E5=AF=86?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7(=E6=A0=B9=E6=8D=AEsessionKey?= =?UTF-8?q?=E8=A7=A3=E5=AF=86)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Helpers/EncryptHelper.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Senparc.Weixin.WxOpen/src/Senparc.Weixin.WxOpen/Senparc.Weixin.WxOpen/Helpers/EncryptHelper.cs b/src/Senparc.Weixin.WxOpen/src/Senparc.Weixin.WxOpen/Senparc.Weixin.WxOpen/Helpers/EncryptHelper.cs index 9eaa15323d..b5adfae254 100644 --- a/src/Senparc.Weixin.WxOpen/src/Senparc.Weixin.WxOpen/Senparc.Weixin.WxOpen/Helpers/EncryptHelper.cs +++ b/src/Senparc.Weixin.WxOpen/src/Senparc.Weixin.WxOpen/Senparc.Weixin.WxOpen/Helpers/EncryptHelper.cs @@ -316,6 +316,21 @@ public static DecodedPhoneNumber DecryptPhoneNumber(string sessionId, string enc return DecodeEncryptedDataToEntity(sessionId, encryptedData, iv); } + /// + /// 解密手机号(根据sessionKey解密) + /// + /// + /// + /// + /// + public static DecodedPhoneNumber DecryptPhoneNumberBySessionKey(string sessionKey, string encryptedData, string iv) + { + var resultStr = DecodeEncryptedData(sessionKey, encryptedData, iv); + + var entity = SerializerHelper.GetObject(resultStr); + return entity; + } + /// /// 解密微信小程序运动步数 /// 2019-04-02 From cd14922b567b1a470d3b98ab632fcfd5a74c2112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=81?= Date: Sun, 27 Sep 2020 14:35:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E8=A7=A3=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Helpers/EncryptHelper.cs | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/src/Senparc.Weixin.WxOpen/src/Senparc.Weixin.WxOpen/Senparc.Weixin.WxOpen/Helpers/EncryptHelper.cs b/src/Senparc.Weixin.WxOpen/src/Senparc.Weixin.WxOpen/Senparc.Weixin.WxOpen/Helpers/EncryptHelper.cs index b5adfae254..288cd4a206 100644 --- a/src/Senparc.Weixin.WxOpen/src/Senparc.Weixin.WxOpen/Senparc.Weixin.WxOpen/Helpers/EncryptHelper.cs +++ b/src/Senparc.Weixin.WxOpen/src/Senparc.Weixin.WxOpen/Senparc.Weixin.WxOpen/Helpers/EncryptHelper.cs @@ -291,6 +291,26 @@ public static T DecodeEncryptedDataToEntity(string sessionId, string encrypte var entity = SerializerHelper.GetObject(jsonStr); return entity; } + /// + /// 解密到实例信息 + /// + /// DecodeEntityBase + /// + /// + /// + /// + public static T DecodeEncryptedDataToEntityEasy(string sessionKey, string encryptedData, string iv) + where T : DecodeEntityBase + { + var jsonStr = DecodeEncryptedData(sessionKey, encryptedData, iv); + + //Console.WriteLine("===== jsonStr ====="); + //Console.WriteLine(jsonStr); + //Console.WriteLine(); + + var entity = SerializerHelper.GetObject(jsonStr); + return entity; + } /// /// 解密UserInfo消息(通过SessionId获取) @@ -315,7 +335,6 @@ public static DecodedPhoneNumber DecryptPhoneNumber(string sessionId, string enc { return DecodeEncryptedDataToEntity(sessionId, encryptedData, iv); } - /// /// 解密手机号(根据sessionKey解密) /// @@ -325,10 +344,12 @@ public static DecodedPhoneNumber DecryptPhoneNumber(string sessionId, string enc /// public static DecodedPhoneNumber DecryptPhoneNumberBySessionKey(string sessionKey, string encryptedData, string iv) { - var resultStr = DecodeEncryptedData(sessionKey, encryptedData, iv); + //var resultStr = DecodeEncryptedData(sessionKey, encryptedData, iv); - var entity = SerializerHelper.GetObject(resultStr); - return entity; + //var entity = SerializerHelper.GetObject(resultStr); + //return entity; + + return DecodeEncryptedDataToEntityEasy(sessionKey, encryptedData, iv); } ///