Example #1
0
 public static void Registration(string SN, string licenseCode)
 {
     try
     {
         string         s1 = SecurityHelper.DESDecrypt(licenseCode);
         SecurityHelper se = new SecurityHelper();
         string         s2 = se.Decrypt3DESString(SN, licenseCode.Substring(3, 32));
         if (s2 != SecurityHelper.MD5String16(SoftRegHelper.machineCode) || s1 != SoftRegHelper.machineCode)
         {
             throw new Exception("请购买正版获取序列号和授权码!");
         }
         RegistryHelper registry = new RegistryHelper(CommonHelper.SoftwareName);
         if (!registry.IsRegeditExit("IsAuthorization"))
         {
             registry.WTRegedit("IsAuthorization", SecurityHelper.DESEncrypt("TRUE"));
         }
     }
     catch (Exception ex)
     {
         throw new Exception("软件注册失败:" + ex.Message);
     }
 }
Example #2
0
        /// <summary>
        /// 生成验证码 mvc File使用 键session_verifycode
        /// </summary>
        /// <returns></returns>
        public static byte[] GetVerifyCode(int codeLength = 4, bool isSimple = false)
        {
            int    codeW    = 20 * codeLength;
            int    codeH    = 30;
            int    fontSize = 16;
            string chkCode  = string.Empty;

            //颜色列表,用于验证码、噪线、噪点
            Color[] color = { Color.Black, Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Brown, Color.Brown, Color.DarkBlue };
            //字体列表,用于验证码
            string[] font = { "Times New Roman" };
            //验证码的字符集,去掉了一些容易混淆的字符
            const string characterA = "2345689abde";
            const string characterB = "fhkmnrxyABCDEFGHJKLMNPRSTWXY";

            char[] character;
            if (isSimple)
            {
                character = characterA.ToCharArray();
            }
            else
            {
                character = characterB.ToCharArray();
            }
            Random rnd = new Random();

            //生成验证码字符串
            for (int i = 0; i < codeLength; i++)
            {
                chkCode += character[rnd.Next(character.Length)];
            }
            //写入Session、验证码加密
            WebHelper.WriteSession("session_verifycode", SecurityHelper.MD5String16(chkCode.ToUpper()));//一般处理程序实现IRequiresSessionState
            //创建画布
            Bitmap   bmp = new Bitmap(codeW, codeH);
            Graphics g   = Graphics.FromImage(bmp);

            g.Clear(Color.White);
            //画噪线
            for (int i = 0; i < 1; i++)
            {
                int   x1  = rnd.Next(codeW);
                int   y1  = rnd.Next(codeH);
                int   x2  = rnd.Next(codeW);
                int   y2  = rnd.Next(codeH);
                Color clr = color[rnd.Next(color.Length)];
                g.DrawLine(new Pen(clr), x1, y1, x2, y2);
            }
            //画验证码字符串
            for (int i = 0; i < chkCode.Length; i++)
            {
                string fnt = font[rnd.Next(font.Length)];
                Font   ft  = new Font(fnt, fontSize);
                Color  clr = color[rnd.Next(color.Length)];
                g.DrawString(chkCode[i].ToString(), ft, new SolidBrush(clr), (float)i * 18, (float)0);
            }
            //将验证码图片写入内存流,并将其以 "image/Png" 格式输出
            MemoryStream ms = new MemoryStream();

            try
            {
                bmp.Save(ms, ImageFormat.Png);
                return(ms.ToArray());
            }
            catch (Exception)
            {
                return(null);
            }
            finally
            {
                g.Dispose();
                bmp.Dispose();
            }
        }
Example #3
0
        /// <summary>
        /// 检查验证码是否正确
        /// </summary>
        /// <param name="inputVerifyCode"></param>
        /// <returns></returns>
        public static bool IsCheckVerifyCode(string inputVerifyCode)
        {
            HttpContext context = HttpContext.Current;

            if (inputVerifyCode.IsNullEmpty() || context.Session["session_verifycode"].ToString().IsNullEmpty() || SecurityHelper.MD5String16(inputVerifyCode.ToUpper()) != context.Session["session_verifycode"].ToString())
            {
                return(false);
            }
            return(true);
        }