Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
        }