/// <summary> /// ½âÃÜ×Ö·û´® /// </summary> /// <param name="str"></param> /// <returns></returns> private string DeEncryString(string str) { if (str.IndexOf(EncryHead) == 0) { string content = str.Substring(EncryHead.Length); byte[] arrStr = CommonMethods.HexStringToBytes(content); ConfigSave config = Program.MainForm.Config; byte[] pwd = config.EncryPassword; byte[] enStr = PasswordHash.AESDecrypt(arrStr, pwd); return(DefaultEncode.GetString(enStr)); } else { return(str); } return(str); }
/// <summary> /// 获取Base64字符串 /// </summary> /// <returns></returns> public string GetBaseString(string str) { string retString = null; if (string.IsNullOrWhiteSpace(str)) { return(null); } str = str.Trim(); bool isEncry = false; if (str.StartsWith(QRCodeUnit.EncryHead)) { str = str.Substring(QRCodeUnit.EncryHead.Length); isEncry = true; } try { byte[] resByte = Convert.FromBase64String(str); if (isEncry) { ConfigSave config = Program.MainForm.Config; byte[] pwd = config.EncryPassword; resByte = PasswordHash.AESDecrypt(resByte, pwd); } retString = QRCodeUnit.DefaultEncode.GetString(resByte); } catch (Exception ex) { FrmQRResault.ShowError("解析错误,请检查字符串或密码是否正确"); return(null); } return(retString); }