Exemplo n.º 1
0
 /// <summary> 主构造函数.</summary>
 /// <remarks> windawings, 11/30/2015.</remarks>
 public ClassRegister()
 {
     try
     {
         //若存在存储文件,读取
         if (File.Exists(DataName))
         {
             var jsonStr = ClassEncrypt.DecryptReturn(DataName);
             Info = (BasicInfo)JsonConvert.DeserializeObject(jsonStr, typeof(BasicInfo));
         }
         else
         {
             Info.CaptchaType = "manual";
             Info.PictureType = "png";
             Info.ImgUrl      = FormMain.ImgUrl;
         }
         //若存在公钥文件
         if (File.Exists(PubliKeyPath))
         {
             var publicKeyBytes      = ClassEncrypt.ReadKeyPair(PubliKeyPath);
             var publicKeyParameters = (ECPublicKeyParameters)PublicKeyFactory.CreateKey(publicKeyBytes);
             EcDsaSigner.Init(false, publicKeyParameters);
         }
         else
         {
             MessageBox.Show("公钥导入失败,将无法进行注册验证!若key.public文件丢失请联系作者!");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         Environment.Exit(0);
     }
 }
        /// <summary> 静态构造函数.</summary>
        /// <remarks> windawings, 11/30/2015.</remarks>
        static ClassCaptcha()
        {
            //获取字典文件
            var captchaJson =
                (Captcha[])
                JsonConvert.DeserializeObject(ClassEncrypt.DecryptReturn(@"bin\captcha.bin"),
                                              typeof(Captcha[]));

            foreach (var captcha in captchaJson)
            {
                if (CaptchaDic.ContainsKey(captcha.ImgGuid))
                {
                    CaptchaDic[captcha.ImgGuid] = captcha.Value;
                }
                else
                {
                    CaptchaDic.Add(captcha.ImgGuid, captcha.Value);
                }
            }
        }