Beispiel #1
0
        /// <summary>
        /// »ñÈ¡¶þάÂë×Ö·û´®
        /// </summary>
        /// <returns></returns>
        public string GetQRCodeString(Bitmap bmap)
        {
            if (bmap == null)
            {
                return(null);
            }

            string retString = null;

            try
            {
                Result results = _qrRead.Decode(bmap);
                if (results != null)
                {
                    retString = DeEncryString(results.Text);
                }
            }
            catch (Exception ex)
            {
                FrmQRResault.ShowError("½âÃÜ´íÎó£¬Çë¼ì²éÃÜÂëÊÇ·ñÕýÈ·");
                //MessageBox.Show(ex.Message, "´íÎó", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(null);
            }

            return(retString);
        }
Beispiel #2
0
        /// <summary>
        /// 把字符串打成Base64字符串
        /// </summary>
        /// <returns></returns>
        public string ToBaseString(string str, bool isEncry)
        {
            string retString = null;

            try
            {
                byte[] resByte = QRCodeUnit.DefaultEncode.GetBytes(str);
                if (isEncry)
                {
                    ConfigSave config = Program.MainForm.Config;
                    byte[]     pwd    = config.EncryPassword;
                    resByte = PasswordHash.AESEncrypt(resByte, pwd);
                    return(QRCodeUnit.EncryHead + Convert.ToBase64String(resByte));
                }
                return(Convert.ToBase64String(resByte));
            }
            catch (Exception ex)
            {
                FrmQRResault.ShowError("解密错误,请检查密码是否正确");
                return(null);
            }

            return(retString);
        }
Beispiel #3
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);
        }