| | |
| | | try |
| | | { |
| | | |
| | | //if (string.IsNullOrEmpty (urlHead)) { |
| | | // urlHead = APIInfoConfig.Current.RequestHttpsHost; |
| | | //if (string.IsNullOrEmpty(urlHead)) |
| | | //{ |
| | | // urlHead = UserInfo.Current.RequestHttpsHost; |
| | | //} |
| | | //string requestFullUrl = urlHead + apiPath; |
| | | |
| | |
| | | |
| | | if (string.IsNullOrEmpty(replaceToken)) |
| | | { |
| | | if (MainPage.LoginUser != null) |
| | | if(UserInfo.Current != null) |
| | | {/* 如果不需要验证Token可以不用传入 */ |
| | | request.AddHeader("Authorization", MainPage.LoginUser.loginTokenString); |
| | | request.AddHeader("Authorization", UserInfo.Current.LoginTokenString); |
| | | } |
| | | } |
| | | else |
| | |
| | | { |
| | | try |
| | | { |
| | | |
| | | ResponsePackNew revertObj = new ResponsePackNew() { }; |
| | | revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(response.Content); |
| | | //*****一些判空处理***************** |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | HDL_ON.Common.Utlis.WriteLine(ex.Message); |
| | | HDL_ON.Utlis.WriteLine(ex.Message); |
| | | return new ResponsePackNew() { Code = "DATA_EXCEPTION" }; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | HDL_ON.Common.Utlis.WriteLine(response.Content); |
| | | HDL_ON.Utlis.WriteLine(response.Content); |
| | | return new ResponsePackNew() { Code = "NETWORK_ERROR" }; |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | HDL_ON.Common.Utlis.WriteLine(ex.Message); |
| | | HDL_ON.Utlis.WriteLine(ex.Message); |
| | | return new ResponsePackNew() { Code = "NETWORK_ERROR" }; |
| | | } |
| | | |
| | |
| | | try |
| | | { |
| | | //if (string.IsNullOrEmpty (urlHead)) { |
| | | // urlHead = APIInfoConfig.Current.RequestHttpsHost; |
| | | // urlHead = UserInfo.Current.RequestHttpsHost; |
| | | //} |
| | | //string requestFullUrl = urlHead + apiPath; |
| | | |
| | |
| | | |
| | | if (string.IsNullOrEmpty(replaceToken)) |
| | | { |
| | | if (MainPage.LoginUser != null) |
| | | if ( UserInfo.Current != null) |
| | | {/* 如果不需要验证Token可以不用传入 */ |
| | | request.AddHeader("Authorization", MainPage.LoginUser.loginTokenString); |
| | | request.AddHeader("Authorization", UserInfo.Current.LoginTokenString); |
| | | } |
| | | } |
| | | else |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | HDL_ON.Common.Utlis.WriteLine(ex.Message); |
| | | HDL_ON.Utlis.WriteLine(ex.Message); |
| | | return null; |
| | | } |
| | | #endregion |
| | |
| | | { |
| | | |
| | | //if (string.IsNullOrEmpty (urlHead)) { |
| | | // urlHead = APIInfoConfig.Current.RequestHttpsHost; |
| | | // urlHead = UserInfo.Current.RequestHttpsHost; |
| | | //} |
| | | //string requestFullUrl = urlHead + apiPath; |
| | | |
| | |
| | | |
| | | if (string.IsNullOrEmpty(replaceToken)) |
| | | { |
| | | if (MainPage.LoginUser != null) |
| | | if ( UserInfo.Current != null) |
| | | {/* 如果不需要验证Token可以不用传入 */ |
| | | request.AddHeader("Authorization", MainPage.LoginUser.loginTokenString); |
| | | request.AddHeader("Authorization", UserInfo.Current.LoginTokenString); |
| | | } |
| | | } |
| | | else |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | HDL_ON.Common.Utlis.WriteLine(ex.Message); |
| | | HDL_ON.Utlis.WriteLine(ex.Message); |
| | | return new ResponsePackNew() { Code = "DATA_EXCEPTION" }; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | HDL_ON.Common.Utlis.WriteLine(response.Content); |
| | | HDL_ON.Utlis.WriteLine(response.Content); |
| | | return new ResponsePackNew() { Code = "NETWORK_ERROR" }; |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | HDL_ON.Common.Utlis.WriteLine(ex.Message); |
| | | HDL_ON.Utlis.WriteLine(ex.Message); |
| | | return new ResponsePackNew() { Code = "NETWORK_ERROR" }; |
| | | } |
| | | |
| | |
| | | string str = string.Empty; |
| | | foreach (KeyValuePair<string, object> item in paramDictionary) |
| | | { |
| | | //Value为null不参加校验 |
| | | if (item.Value != null) |
| | | { |
| | | str += item.Key + "=" + item.Value.ToString() + "&"; |
| | | //Value.ToString()为null或者""也不参加校验 |
| | | if (!string.IsNullOrEmpty(item.Value.ToString())) |
| | | { |
| | | //如果是bool类型,要转小写 |
| | | if (item.Value is bool) |
| | | { |
| | | str += item.Key + "=" + item.Value.ToString().ToLower() + "&"; |
| | | } |
| | | else |
| | | { |
| | | str += item.Key + "=" + item.Value.ToString() + "&"; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //2.3 拼接SECRET_KEY |
| | | str = str.Substring(0, str.Length - 1) + SECRET_KEY; |
| | | //2.4 MD5转换+转小写 |
| | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | namespace Shared.Securitys |
| | | { |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public partial class EncryptionService |
| | | { |
| | | #region 加密 |
| | | /// <summary> |
| | | /// 加密主题为Base64 |
| | | /// </summary> |
| | | /// <param name="pToEncrypt"></param> |
| | | /// <param name="key"></param> |
| | | /// <returns></returns> |
| | | public static string AesEncryptTopic(string pToEncrypt, string key) |
| | | { |
| | | if (string.IsNullOrEmpty(pToEncrypt)) return null; |
| | | if (string.IsNullOrEmpty(key)) return pToEncrypt; |
| | | //需要加密内容的明文流 |
| | | Byte[] toEncryptArray = Encoding.UTF8.GetBytes(pToEncrypt); |
| | | |
| | | //配置AES加密Key(密钥、向量、模式、填充) |
| | | RijndaelManaged rm = new RijndaelManaged |
| | | { |
| | | Key = Encoding.UTF8.GetBytes(key), |
| | | IV = Encoding.UTF8.GetBytes(key), |
| | | Mode = CipherMode.CBC, |
| | | Padding = PaddingMode.PKCS7 |
| | | }; |
| | | |
| | | //创建AES加密器对象 |
| | | ICryptoTransform cTransform = rm.CreateEncryptor(); |
| | | |
| | | //使用AES将明文流转成密文字节数组 |
| | | Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); |
| | | |
| | | //将AES生成的密文字节数组转成Base64字符串 |
| | | return Convert.ToBase64String(resultArray, 0, resultArray.Length); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 加密负载为二进制流 |
| | | /// </summary> |
| | | /// <param name="toEncryptArray"></param> |
| | | /// <param name="key"></param> |
| | | /// <returns></returns> |
| | | public static byte[] AesEncryptPayload(byte[] toEncryptArray, string key) |
| | | { |
| | | if (string.IsNullOrEmpty(key)) return toEncryptArray; |
| | | //配置AES加密Key(密钥、向量、模式、填充) |
| | | var rm = new RijndaelManaged |
| | | { |
| | | Key = Encoding.UTF8.GetBytes(key), |
| | | IV = Encoding.UTF8.GetBytes(key), |
| | | Mode = CipherMode.CBC, |
| | | Padding = PaddingMode.PKCS7 |
| | | }; |
| | | |
| | | //创建AES加密器对象 |
| | | var cTransform = rm.CreateEncryptor(); |
| | | //使用AES将明文流转成密文字节数组 |
| | | return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region 解密 |
| | | /// <summary> |
| | | /// 解密主题数据 |
| | | /// </summary> |
| | | /// <param name="pToDecrypt"></param> |
| | | /// <param name="key"></param> |
| | | /// <returns></returns> |
| | | public static string AesDecryptTopic(string pToDecrypt, string key) |
| | | { |
| | | //AES密文Base64转成字符串 |
| | | Byte[] toEncryptArray = Convert.FromBase64String(pToDecrypt); |
| | | |
| | | //配置AES加密Key(密钥、向量、模式、填充) |
| | | RijndaelManaged rm = new RijndaelManaged |
| | | { |
| | | Key = Encoding.UTF8.GetBytes(key), |
| | | IV = Encoding.UTF8.GetBytes(key), |
| | | Mode = CipherMode.CBC, |
| | | Padding = PaddingMode.PKCS7 |
| | | }; |
| | | |
| | | //创建AES解密器对象 |
| | | ICryptoTransform cTransform = rm.CreateDecryptor(); |
| | | |
| | | //使用AES将密文流转成明文的字节数组 |
| | | Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); |
| | | |
| | | //转成字符串 |
| | | return Encoding.UTF8.GetString(resultArray); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 采用Aes解密负载数据 |
| | | /// </summary> |
| | | /// <param name="toEncryptArray"></param> |
| | | /// <param name="key"></param> |
| | | /// <returns></returns> |
| | | public static byte[] AesDecryptPayload(byte[] toEncryptArray, string key) |
| | | { |
| | | //配置AES加密Key(密钥、向量、模式、填充) |
| | | var rm = new RijndaelManaged |
| | | { |
| | | Key = Encoding.UTF8.GetBytes(key), |
| | | IV = Encoding.UTF8.GetBytes(key), |
| | | Mode = CipherMode.CBC, |
| | | Padding = PaddingMode.PKCS7 |
| | | }; |
| | | |
| | | //创建AES解密器对象 |
| | | var cTransform = rm.CreateDecryptor(); |
| | | |
| | | //使用AES将密文流转成明文的字节数组 |
| | | return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | |
| | | } |
| | | } |