private void btnFileSave2_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(tbPath.Text)) { WarningNotice.InputString(); return; } if (!File.Exists(tbPath.Text)) { WarningNotice.NotFound(); return; } if (tbPassword.Text.Length != 8) { WarningNotice.KeyLength(8); return; } if (tbIV.Text.Length != 8) { WarningNotice.IVLength(8); return; } if (DialogResult.OK == sfdFile.ShowDialog()) { FileInfo file = new FileInfo(tbPath.Text); FileInfo result = new FileInfo(sfdFile.FileName); fileSize = file.Length; Task.Factory.StartNew(() => { try { ControlEnable(this.Controls, false); DESEncryption.Decrypt(file, result, tbPassword.Text, tbIV.Text); this.Invoke(new Action(() => WarningNotice.Save())); } catch (Exception) { WarningNotice.WrongKey(); } finally { ControlEnable(this.Controls, true); } }); } sfdFile.FileName = ""; }
private void btnDecrypt_Click(object sender, EventArgs e) { if (tbPassword.Text.Length != 8) { WarningNotice.KeyLength(8); return; } if (tbIV.Text.Length != 8) { WarningNotice.IVLength(8); return; } try { tbToText.Text = DESEncryption.Decrypt(tbFromText.Text, tbPassword.Text, tbIV.Text); } catch (Exception) { WarningNotice.WrongKey(); } }
private IEnumerator StartLoadServerList(string url) { StatusStr = string.Format("开始加载服务器列表 {0}/{1}", mRetryCnt, GlobalConst.Update.RetryTimes); Logger.Net.Log(StatusStr); bool timeout = false; float elapsedTime = 0.0f; var www = new WWW(url); yield return(www); while (!www.isDone) { elapsedTime += Time.deltaTime; if (elapsedTime >= GlobalConst.Update.Timeout) { timeout = true; break; } yield return(new WaitForFixedUpdate()); } if (!string.IsNullOrEmpty(www.error) || timeout) { if (mRetryCnt++ < GlobalConst.Update.RetryTimes) { float fWaitTime = mRetryCnt * 2 + 1; StatusStr = string.Format("加载列表失败,Err:{0},{1}秒后重试", timeout?"超时":www.error, (int)fWaitTime); Logger.Net.Log(StatusStr); yield return(new WaitForSeconds(fWaitTime)); yield return(StartCoroutine(StartLoadServerList(url))); } else { Error = true; StatusStr = string.Format("加载列表失败,Err:{0}", timeout ? "超时" : www.error); Logger.Net.LogError(StatusStr); } yield break; } var decText = www.text; #if !DISABLE_ENCRYPT_FILES && !UNITY_EDITOR decText = DESEncryption.Decrypt(decText, GlobalConst.Res.EncryptPassword); #endif var strs = decText.Split(','); if (strs.Length > 1) { StatusStr = string.Format("列表获取成功,可用节点数:{0},开始检测网络", strs.Length); Logger.Net.Log(StatusStr); foreach (var str in strs) { mNodes.Add(new ServerNode(str)); } PingAll(); } }