Пример #1
0
        private bool ChangePassword(byte[] Password, int id)
        {
            string loginString = Encoding.Unicode.GetString(ClientsList[id - 1].Login);

            //this.ClientsList[id-1].Password = Password;
            this.ClientsList[id - 1].Password = FileWork.getSHA1(Password);
            /// write to file
            return(FileWork.SaveClientInfo(loginString, Password));
        }
Пример #2
0
 public bool CheckPassword(byte[] data, int id)
 {
     byte[] Password     = new byte[Const.PASSWORD_SIZE];
     byte[] HashPassword = FileWork.getSHA1(Password);
     for (int i = 0; i < HashPassword.Length; i++)
     {
         if (HashPassword[i] != ClientsList[id - 1].Password[i])
         {
             return(false);
         }
     }
     ClientsList[id - 1].isAuthorised = true;
     return(true);
 }
Пример #3
0
        public bool SetPassword(byte[] data, int id)
        {
            byte[] DecodeData = this.ClientsList[id - 1].Cipher.decode(data);
            if (DecodeData[Const.CONTROL_NUMBER_POSITION] != Const.CONTROL_NUMBER)
            {
                this.ServerMessage("подпись невалидна", id);
                return(false);
            }
            byte[] newPassword = getData(DecodeData);

            if (this.ClientsList[id - 1].isAuthorised)
            {
                this.ClientsList[id - 1].Password = FileWork.getSHA1(newPassword);
                if (!FileWork.SaveClientInfo(Encoding.Unicode.GetString(this.ClientsList[id - 1].Login),
                                             this.ClientsList[id - 1].Password))
                {
                    this.ServerMessage("не удалось поменять пароль", id);
                    return(false);
                }
                ///////////////////////////////////////////////////////////SaveToFile

                this.ServerMessage("пароль изменен", id);
                return(true);
            }
            else
            {
                if (FileWork.getSHA1(newPassword) == this.ClientsList[id - 1].Password)
                {
                    this.ClientsList[id - 1].isAuthorised = true;
                    ServerMessage("клиент авторизирован", id);
                    BroadcastAboutNewUser(this.ClientsList[id - 1].Id, this.ClientsList[id - 1].Login,
                                          this.ClientsList[id - 1].Cipher.publicKey);
                }
            }

            return(false);
        }