public KeyValuePair <byte[], byte[]> SecretGetTest([PexAssumeUnderTest] TripleDes target) { KeyValuePair <byte[], byte[]> result = target.Secret; return(result); // TODO: add assertions to method TripleDesTest.SecretGetTest(TripleDes) }
public ActionResult CryptoEncrypted(HttpPostedFileBase upload1, string key, string algoritm) { var baseLocation = Server.MapPath("~/Files/"); var fileName1 = GetUniqueFileName(upload1.FileName); var fileLocation1 = Path.Combine(baseLocation, fileName1); upload1.SaveAs(fileLocation1); StreamReader sr = new StreamReader(fileLocation1, Encoding.Default); string text = sr.ReadToEnd(); if (algoritm == "AES") { text = Crypto.EncryptStringAES(text, key); } else if (algoritm == "TripleDES") { text = TripleDes.Encrypt <TripleDESCryptoServiceProvider>(text, key); } else if (algoritm == "Rijndael") { text = TripleDes.Encrypt <RijndaelManaged>(text, key); } var baseLocationResult = Server.MapPath("~/Text/"); var fileNameRes = GetUniqueFileName("res.txt"); var fileLocationRes = Path.Combine(baseLocationResult, fileNameRes); System.IO.File.AppendAllText(fileLocationRes, text, Encoding.Default); TempData["FileLocationRes"] = fileLocationRes; return(RedirectToAction("PreviewCryptoEn")); }
public TripleDes ConstructorTest02(byte[] key, byte[] iv) { TripleDes target = new TripleDes(key, iv); return(target); // TODO: add assertions to method TripleDesTest.ConstructorTest02(Byte[], Byte[]) }
public string EncryptTest([PexAssumeUnderTest] TripleDes target, string value) { string result = target.Encrypt(value); return(result); // TODO: add assertions to method TripleDesTest.EncryptTest(TripleDes, String) }
public TripleDes ConstructorTest01(KeyValuePair <byte[], byte[]> secret) { TripleDes target = new TripleDes(secret); return(target); // TODO: add assertions to method TripleDesTest.ConstructorTest01(KeyValuePair`2<Byte[],Byte[]>) }
public TripleDes ConstructorTest() { TripleDes target = new TripleDes(); return(target); // TODO: add assertions to method TripleDesTest.ConstructorTest() }
private XmlNode EncryptDecrypt(bool encrypt, XmlNode node) { string data; using (var tripleDes = new TripleDes(_secret)) { data = encrypt ? tripleDes.Encrypt(node.OuterXml) : tripleDes.Decrypt(node.InnerText); } var xmlDoc = new XmlDocument { PreserveWhitespace = true }; string value = data; if (encrypt) { const string encryptedDataTag = "EncryptedData"; value = string.Format(CultureInfo.InvariantCulture, Constants.XmlTag, encryptedDataTag, data); } xmlDoc.LoadXml(value); // ReSharper disable once AssignNullToNotNullAttribute return(xmlDoc.DocumentElement); }
public void Open() { if (sqlConnection == null) { sqlConnection = new SqlConnection(TripleDes.Decrypt(CommonObjects.GetConnectionString())); sqlConnection.Open(); sqlTransaction = sqlConnection.BeginTransaction(); } }
private void UserLogin() { wapp.SysConfig.atUser = new wapp.SysUser(); string Name = cBName.Text.Trim(); if (Name == "") { WinOften.MessShow("用户名不能为空!", 1); return; } string Pwd = tPwd.Text.Trim(); if (Pwd == "") { WinOften.MessShow("密码不能为空!", 1); return; } if (wapp.UserList.UsersTable.Rows.Count <= 0) { wapp.SysUser su = new wapp.SysUser(); su.UserName = "******"; su.UserPwd = "123456"; su.RealName = "admin"; su.Phones = ""; su.ManageLv = 60; su.LoginCount = 1; su.LoginDate = DateTime.Now; wapp.UserList.SaveUsersTable(su); } string ePwd = TripleDes.DesEn(Pwd, wapp.AppList.DeKey).Trim(); DataRow[] udrs = wapp.UserList.UsersTable.Select("UserName='******' and UserPwd='" + ePwd + "'"); if (udrs.Length > 0) { wapp.SysConfig.atUser.UserName = udrs[0]["UserName"].ToString().Trim(); wapp.SysConfig.atUser.UserPwd = Pwd; wapp.SysConfig.atUser.ManageLv = Convert.ToInt32(udrs[0]["ManageLv"]); wapp.SysConfig.atUser.RealName = udrs[0]["RealName"].ToString().Trim(); wapp.SysConfig.atUser.Phones = udrs[0]["Phones"].ToString().Trim(); wapp.SysConfig.atUser.LoginCount = Convert.ToInt32(udrs[0]["LoginCount"]) + 1; wapp.SysConfig.atUser.LoginDate = DateTime.Now; wapp.UserList.SaveUsersTable(wapp.SysConfig.atUser); SaveUserConfig(); } if (wapp.SysConfig.atUser.ManageLv == 0) { WinOften.MessShow("用户名或密码错误!", 1); return; } else { this.Hide(); ShowFrm(); } }
/// <summary> /// 解密 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string DecrypString(string str) { if (string.IsNullOrEmpty(str)) { return(string.Empty); } TripleDes l = new TripleDes(); return(l.Decode(str)); }
/// <summary>保存用户配置信息</summary> /// <param name="uc">用户信息</param> public static void SaveSysConfig(UserConfig uc) { string ulpath = wapp.AppList.SaveConfigPath + UserLoginTable.TableName + ".xml"; string ucpath = wapp.AppList.SaveConfigPath + UserConifgTable.TableName + ".xml"; if (File.Exists(ulpath)) { File.Delete(ulpath); } if (File.Exists(ucpath)) { File.Delete(ucpath); } for (int i = 0; i < UserLoginTable.Rows.Count; i++) { UserLoginTable.Rows[i]["IsUser"] = 0; } if (uc.UserName != "") { string pwd = TripleDes.DesEn(uc.UserPwd.Trim(), wapp.AppList.DeKey).Trim(); DataRow[] dr = UserLoginTable.Select("UserName='******'"); if (dr.Length > 0) { dr[0]["UserPwd"] = pwd; dr[0]["IsUser"] = 1; } else { DataRow newRow = UserLoginTable.NewRow(); newRow["UserName"] = uc.UserName; newRow["UserPwd"] = pwd; newRow["IsUser"] = 1; UserLoginTable.Rows.Add(newRow); } DataRow[] drc = UserConifgTable.Select("UserName='******'"); if (drc.Length > 0) { drc[0]["IsSave"] = uc.IsSave; drc[0]["AutoStat"] = uc.AutoStat; drc[0]["AutoLogin"] = uc.AutoLogin; } else { DataRow newRow = UserConifgTable.NewRow(); newRow["UserName"] = uc.UserName; newRow["IsSave"] = uc.IsSave; newRow["AutoStat"] = uc.AutoStat; newRow["AutoLogin"] = uc.AutoLogin; UserConifgTable.Rows.Add(newRow); } } UserLoginTable.WriteXml(ulpath, XmlWriteMode.WriteSchema); UserConifgTable.WriteXml(ucpath, XmlWriteMode.WriteSchema); }
public ActionResult Encrypted(HttpPostedFileBase upload1, HttpPostedFileBase upload2, string key, string algoritm) { var baseLocation = Server.MapPath("~/Files/"); var fileName1 = GetUniqueFileName(upload1.FileName); var fileLocation1 = Path.Combine(baseLocation, fileName1); upload1.SaveAs(fileLocation1); var fileName2 = GetUniqueFileName(upload2.FileName); var fileLocation2 = Path.Combine(baseLocation, fileName2); upload2.SaveAs(fileLocation2); Image image = Image.FromStream(upload2.InputStream); image.Save(fileLocation2); string imagePath = fileLocation2; Bitmap bmp = new Bitmap(imagePath); StreamReader sr = new StreamReader(fileLocation1, Encoding.Default); string text = sr.ReadToEnd(); if (algoritm == "AES") { text = Crypto.EncryptStringAES(text, key); } else if (algoritm == "TripleDES") { text = TripleDes.Encrypt <TripleDESCryptoServiceProvider>(text, key); } else if (algoritm == "Rijndael") { text = TripleDes.Encrypt <RijndaelManaged>(text, key); } Bitmap bmp1 = SteganoHelper.embedText(text, bmp); arr = bmp1.ToByteArray(ImageFormat.Png); MemoryStream ms = new MemoryStream(arr); Image imageResult = Image.FromStream(ms); var fileNameRes = "res.png"; var fileLocationRes = Path.Combine(baseLocation, fileNameRes); imageResult.Save(fileLocationRes); TempData["ImageLocation"] = fileNameRes; return(RedirectToAction("Preview")); }
public void EncryptDescryptTest() { // Arrange var tripleDes = new TripleDes(); string expectedValue = MethodBase.GetCurrentMethod() .Name; // Act string value = tripleDes.Encrypt(expectedValue); string actualValue = tripleDes.Decrypt(value); // Assert Assert.AreEqual(expectedValue, actualValue); Assert.AreNotEqual(expectedValue, value); }
/// <summary> /// Decrypt data using this key. /// </summary> /// <param name="data">16, 32 or 48 hex data to decrypt.</param> /// <returns>Decrypted data.</returns> public string Decrypt(string data) { ValidateEncryptDecryptData(data); if (data.Length == 16) { return(TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data)); } if (data.Length == 32) { return(TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data.Substring(0, 16)) + TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data.Substring(16, 16))); } return(TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data.Substring(0, 16)) + TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data.Substring(16, 16)) + TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data.Substring(32, 16))); }
public ActionResult Decrypted(HttpPostedFileBase upload, string key, string algoritm) { string fileName = GetUniqueFileName(upload.FileName); Image image = Image.FromStream(upload.InputStream); image.Save(Server.MapPath("~/Files/" + fileName)); string imagePath = Server.MapPath("~/Files/" + fileName); Bitmap bmp = new Bitmap(imagePath); string extractedText = SteganoHelper.extractText(bmp); var baseLocation = Server.MapPath("~/Text/"); var fileNameRes = GetUniqueFileName("res.txt"); var fileLocationRes = Path.Combine(baseLocation, fileNameRes); try { if (algoritm == "AES") { extractedText = Crypto.DecryptStringAES(extractedText, key) + Environment.NewLine; } else if (algoritm == "TripleDES") { extractedText = TripleDes.Decrypt <TripleDESCryptoServiceProvider>(extractedText, key) + Environment.NewLine; } else if (algoritm == "Rijndael") { extractedText = TripleDes.Decrypt <RijndaelManaged>(extractedText, key) + Environment.NewLine; } System.IO.File.AppendAllText(fileLocationRes, extractedText, Encoding.Default); TempData["FileLocation"] = fileLocationRes; return(RedirectToAction("PreviewDecrypt")); } catch { extractedText = "Wrong password"; System.IO.File.AppendAllText(fileLocationRes, extractedText, Encoding.Default); TempData["FileLocation"] = fileLocationRes; return(RedirectToAction("PreviewDecrypt")); } }
/// <summary>保存用户列表</summary> /// <param name="su">用户对象</param> public static void SaveUsersTable(SysUser su) { string upath = wapp.AppList.SaveConfigPath + _UsersTable.TableName + ".xml"; if (File.Exists(upath)) { File.Delete(upath); } if (su != null) { string pwd = ""; if (su.UserPwd.Trim() != "") { pwd = TripleDes.DesEn(su.UserPwd.Trim(), wapp.AppList.DeKey).Trim(); } DataRow[] dr = _UsersTable.Select("UserName='******'"); if (dr.Length > 0) { if (pwd != "") { dr[0]["UserPwd"] = pwd; } dr[0]["RealName"] = su.RealName; dr[0]["ManageLv"] = su.ManageLv; dr[0]["Phones"] = su.Phones; dr[0]["LoginDate"] = su.LoginDate; dr[0]["LoginCount"] = su.LoginCount; } else { DataRow newRow = _UsersTable.NewRow(); newRow["UserName"] = su.UserName; newRow["UserPwd"] = pwd; newRow["RealName"] = su.RealName; newRow["ManageLv"] = su.ManageLv; newRow["Phones"] = su.Phones; newRow["LoginDate"] = su.LoginDate; newRow["LoginCount"] = su.LoginCount; _UsersTable.Rows.Add(newRow); } } _UsersTable.WriteXml(upath, XmlWriteMode.WriteSchema); }
/// <summary>返回用户验证密钥</summary> /// <param name="sid">sid</param> /// <param name="uid">用户id</param> /// <param name="name">用户名</param> /// <param name="pwd">密码</param> /// <returns>返回用户验证密钥</returns> public static string GetVerKey(string sid, string uid, string name, string pwd) { string mpwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "SHA1"); if (WebInfo.IsSysManageUser(name, mpwd)) { return(""); } StringBuilder sb = new StringBuilder(); sb.Append(sid); sb.Append("|"); sb.Append(uid); sb.Append("|"); sb.Append(name); sb.Append("|"); sb.Append(pwd); return(TripleDes.DesEn(sb.ToString())); }
public ActionResult CryptoDecrypted(HttpPostedFileBase upload, string key, string algoritm) { var baseLocation = Server.MapPath("~/Text/"); var fileName1 = GetUniqueFileName(upload.FileName); var fileLocation1 = Path.Combine(baseLocation, fileName1); upload.SaveAs(fileLocation1); StreamReader sr = new StreamReader(fileLocation1, Encoding.Default); string extractedText = sr.ReadToEnd(); var fileNameRes = GetUniqueFileName("res.txt"); var fileLocationRes = Path.Combine(baseLocation, fileNameRes); try { if (algoritm == "AES") { extractedText = Crypto.DecryptStringAES(extractedText, key) + Environment.NewLine; } else if (algoritm == "TripleDES") { extractedText = TripleDes.Decrypt <TripleDESCryptoServiceProvider>(extractedText, key) + Environment.NewLine; } else if (algoritm == "Rijndael") { extractedText = TripleDes.Decrypt <RijndaelManaged>(extractedText, key) + Environment.NewLine; } System.IO.File.AppendAllText(fileLocationRes, extractedText, Encoding.Default); TempData["FileLocationCrypto"] = fileLocationRes; return(RedirectToAction("PreviewCryptoDecrypt")); } catch { extractedText = "Wrong password"; System.IO.File.AppendAllText(fileLocationRes, extractedText, Encoding.Default); TempData["FileLocationCrypto"] = fileLocationRes; return(RedirectToAction("PreviewCryptoDecrypt")); } }
public void TestEncryptStringToBase64() { var encryptor = new TripleDes(); string raw = "Đây là Unicode string", key = "password", salt = "this_is_salt"; string encrypted; string decrypted; // without salt encrypted = encryptor.EncryptToBase64(raw, key); Assert.NotNull(encrypted); decrypted = encryptor.DecryptFromBase64ToString(encrypted, key); Assert.NotNull(decrypted); Assert.Equal(raw, decrypted); // with salt encrypted = encryptor.EncryptToBase64(raw, key, salt); Assert.NotNull(encrypted); decrypted = encryptor.DecryptFromBase64ToString(encrypted, key); Assert.NotNull(decrypted); Assert.Equal(raw, decrypted); }
public void TestEncryptString() { var encryptor = new TripleDes(); string raw = "Đây là Unicode string", key = "password", salt = "this_is_salt"; byte[] encrypted; byte[] decrypted; // without salt encrypted = encryptor.Encrypt(raw, key); Assert.NotNull(encrypted); decrypted = encryptor.Decrypt(encrypted, key); Assert.NotNull(decrypted); Assert.Equal(raw, decrypted.GetString()); // with salt encrypted = encryptor.Encrypt(raw, key, salt); Assert.NotNull(encrypted); decrypted = encryptor.Decrypt(encrypted, key); Assert.NotNull(decrypted); Assert.Equal(raw, decrypted.GetString()); }
/// <summary> /// Decrypt data using CBC mode. /// </summary> /// <param name="data">16, 32 or 48 hex data to decrypt.</param> /// <returns>Decrypted data.</returns> public string DecryptCbc(string data) { ValidateEncryptDecryptData(data); if (data.Length == 16) { return(TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data)); } if (data.Length == 32) { var resulta1 = TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data.Substring(0, 16)); return(resulta1 + TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data.Substring(16, 16)).XorHex(data.Substring(0, 16))); } var resulta2 = TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data.Substring(0, 16)); var resultb = TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data.Substring(16, 16).XorHex(data.Substring(0, 16))); return(resulta2 + resultb + TripleDes.TripleDesDecrypt(PartA, PartB, PartC, data.Substring(32, 16).XorHex(data.Substring(16, 16)))); }
public void TestEncryptFile() { var encryptor = new TripleDes(); string file = FILE1, encrypted = FILE1 + ".3des_encrypted", decrypted = FILE1 + ".3des_decrypted", key = "password", salt = "this_is_salt"; // without salt encryptor.EncryptFile(file, encrypted, key); Assert.True(File.Exists(encrypted)); encryptor.DecryptFile(encrypted, decrypted, key); Assert.True(File.Exists(decrypted)); Assert.Equal(new FileInfo(file).ReadBytes().ToHexaDecimalString(), new FileInfo(decrypted).ReadBytes().ToHexaDecimalString()); // with salt encryptor.EncryptFile(file, encrypted, key, salt); Assert.True(File.Exists(encrypted)); encryptor.DecryptFile(encrypted, decrypted, key); Assert.True(File.Exists(decrypted)); Assert.Equal(new FileInfo(file).ReadBytes().ToHexaDecimalString(), new FileInfo(decrypted).ReadBytes().ToHexaDecimalString()); }
/// <summary>根据筛选值返回默认用户配置信息</summary> /// <param name="sel">筛选值</param> /// <returns>根据筛选值返回默认用户配置信息</returns> public static UserConfig GetSelectUserConfig(string sel) { UserConfig uc = new UserConfig(); if (UserLoginTable.Rows.Count > 0) { DataRow[] dr = UserLoginTable.Select(sel); if (dr.Length > 0) { uc.UserName = dr[0]["UserName"].ToString().Trim(); uc.UserPwd = TripleDes.DesDe(dr[0]["UserPwd"].ToString().Trim(), wapp.AppList.DeKey).Trim(); if (dr[0]["IsUser"].ToString().Trim() == "1") { uc.IsUser = 1; } if (UserConifgTable.Rows.Count > 0) { DataRow[] drc = UserConifgTable.Select("UserName='******'"); if (drc.Length > 0) { if (drc[0]["IsSave"].ToString().Trim() == "1") { uc.IsSave = 1; } if (drc[0]["AutoLogin"].ToString().Trim() == "1") { uc.AutoLogin = 1; } if (drc[0]["AutoStat"].ToString().Trim() == "1") { uc.AutoStat = 1; } } } } } return(uc); }
/// <summary> /// Calculates a MAC using the X9.19 algorithm. /// </summary> /// <param name="data">Hex data to MAC.</param> /// <param name="key">MACing key.</param> /// <param name="iv">Initial vector.</param> /// <param name="blockType">Message block to MAC.</param> /// <returns>MAC result.</returns> public static string MacHexData(string data, HexKey key, string iv, IsoX919BlockType blockType) { if (data.Length % 16 != 0) { data = Iso9797Pad.PadHexString(data, Iso9797PaddingMethodType.PaddingMethod1); } for (var i = 0; i <= (data.Length / 16) - 1; i++) { iv = iv.XorHex(data.Substring(i * 16, 16)); iv = TripleDes.DesEncrypt(key.PartA, iv); } var result = iv; if (blockType == IsoX919BlockType.FinalBlock || blockType == IsoX919BlockType.OnlyBlock) { result = TripleDes.DesDecrypt(key.PartB, iv); result = TripleDes.DesEncrypt(key.PartA, result); } return(result); }
/// <summary> /// 创建加密程序 /// </summary> /// <param name="cryptType"></param> /// <param name="key"></param> /// <returns></returns> public ICrypt CreateCrypt(string cryptType, string key = null) { ICrypt appCrypt; switch (cryptType) { case "DES": appCrypt = new Des(key); break; case "TripleDES": appCrypt = new TripleDes(key); break; case "AES": appCrypt = new Aes(key); break; default: appCrypt = new Des(key); break; } return(appCrypt); }
/// <summary> /// 创建加密程序 /// </summary> /// <param name="cryptType"></param> /// <param name="key"></param> /// <returns></returns> public ICrypt CreateCrypt(Type cryptType, string key = null) { ICrypt appCrypt; switch (cryptType) { case Type.Des: appCrypt = new Des(key); break; case Type.TripleDes: appCrypt = new TripleDes(key); break; case Type.Aes: appCrypt = new Aes(key); break; default: appCrypt = new Des(key); break; } return(appCrypt); }
public void TestTripleDes(byte[] key1, byte[] key2, byte[] key3, byte[] data, byte[] expected) { Assert.AreEqual(expected, TripleDes.TripleDesEncrypt(key1, key2, key3, data)); Assert.AreEqual(data, TripleDes.TripleDesDecrypt(key1, key2, key3, expected)); }
/// <summary> /// 注册 /// </summary> /// <param name="token"></param> /// <param name="model"></param> /// <returns></returns> public ResponseBase <string> ValidateRegister(string mobile, string smsCode, string password) { var response = new ResponseBase <string>(); try { var client = new HttpClient(); var requestJson = JsonConvert.SerializeObject(new { mobile = mobile, smsCode = smsCode, password = TripleDes.EncryptDES(password, "50yc_czm", "12345678") }); var result = client.PostAsync(YCDomain + "/api/app/v2/member/register", new StringContent(requestJson, System.Text.Encoding.UTF8, "application/json")).Result; var responseJson = result.Content.ReadAsStringAsync().Result; var apiResponse = (JObject)JsonConvert.DeserializeObject(responseJson); response.IsSuccess = apiResponse.GetValue("code").Value <string>().Equals("0000"); response.OperationDesc = apiResponse.GetValue("msg").Value <string>(); if (response.IsSuccess) { response.Result = apiResponse.GetValue("result").Value <string>("memberNo"); } } catch (Exception ex) { response.IsSuccess = false; response.OperationDesc = "请求错误"; WriteLogException(ex); // 记录日志信息 } return(response); }
public void DisposeTest([PexAssumeUnderTest] TripleDes target) { target.Dispose(); // TODO: add assertions to method TripleDesTest.DisposeTest(TripleDes) }
public void TestByteDes(byte[] key, byte[] data, byte[] expected) { Assert.AreEqual(expected, TripleDes.DesEncrypt(key, data)); Assert.AreEqual(data, TripleDes.DesDecrypt(key, expected)); }
protected override byte[] Encrypt(PropertyInfo property, byte[] key, byte[] bytes) { TripleDes.GenerateIV(); return(CreateBinaryFrame(TripleDes.IV, Transform(bytes, TripleDes.CreateEncryptor(key, TripleDes.IV)))); }
protected override byte[] Decrypt(PropertyInfo property, byte[] key, byte[] bytes) { var frame = ExtractBinaryFrame(bytes); return(Transform(frame[1], TripleDes.CreateDecryptor(key, frame[0]))); }
public TrijnDes(CryptoKey rijndaelKey, CryptoKey tripleDesKey, CryptoKey rijndaelKey2) { _rijndael = new Rijndael(rijndaelKey); _tripleDes = new TripleDes(tripleDesKey); _rijndael2 = new Rijndael(rijndaelKey2); }
/// <summary> /// 验证登录 /// </summary> /// <returns></returns> public ResponseBase <object> ValidateLogin(string userName, string password) { var response = new ResponseBase <object>(); try { var client = new HttpClient(); var requestJson = JsonConvert.SerializeObject(new { Account = userName, Password = TripleDes.EncryptDES(password, "50yc_czm", "12345678") }); var result = client.PostAsync(YCDomain + "/api/app/v2/member/signin", new StringContent(requestJson, System.Text.Encoding.UTF8, "application/json")).Result; var responseJson = result.Content.ReadAsStringAsync().Result; var apiResponse = (JObject)JsonConvert.DeserializeObject(responseJson); response.IsSuccess = apiResponse.GetValue("code").Value <string>().Equals("0000"); response.OperationDesc = apiResponse.GetValue("msg").Value <string>(); response.Result = apiResponse.GetValue("result"); } catch (Exception ex) { response.IsSuccess = false; response.OperationDesc = ex.ToString(); WriteLogException(ex); // 记录日志信息 } return(response); }