private void bRegister_Click(object sender, EventArgs e)
 {
     ServerProvider.Instance.ConnectCheck();
     if (CheckRegisterParam())
     {
         RegistrationInfo info = new RegistrationInfo();
         info.Login = tbLogin.Text;
         info.PasswordHash = tbPassword.Text.ToSha256();
         info.EMail = tbEMail.Text;
         ProofHelper.SetProof(info);
         try
         {
             var res = ServerProvider.Instance.Register(info);
             if (res.IsSuccess)
             {
                 MessageBox.Show("Регистрация прошла успешно!", "Успех", MessageBoxButtons.OK,
                     MessageBoxIcon.Information);
                 DialogResult = DialogResult.OK;
             }
             else
             {
                 MessageBox.Show(string.Format("Ошибка регистрации: {0}", res.Message), "Ошибка", MessageBoxButtons.OK,
                     MessageBoxIcon.Information);
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(string.Format("Ошибка регистрации: {0}", ex.MessageExt()), "Ошибка", MessageBoxButtons.OK,
                     MessageBoxIcon.Warning);
         }
     }
 }
Beispiel #2
0
 public static void SetProof(RegistrationInfo info)
 {
     string s = string.Format("{0}{1}{2}", info.Login, info.PasswordHash, info.EMail);
     long nonce = -1;
     for (int i = 0; i < int.MaxValue; i++)
     {
         if (string.Format("{0}{1}", s, i).ToSha256().StartsWith("0000"))
         {
             nonce = i;
             break;
         }
     }
     if (nonce >= 0)
     {
         info.Nonce = nonce;
         info.ProofOfWork = string.Format("{0}{1}", s, nonce).ToSha256();
     }
 }
 public OperationResult Register(RegistrationInfo info)
 {
     return _client.RunCommand<RegistrationInfo, OperationResult>(101, info);
 }