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));
        }
        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);
        }
        public bool SetLogin(byte[] data, int id)
        {
            byte[] oldLogin   = this.ClientsList[id - 1].Login;
            byte[] DecodeData = this.ClientsList[id - 1].Cipher.decode(data);
            if (DecodeData[Const.CONTROL_NUMBER_POSITION] != Const.CONTROL_NUMBER)
            {
                this.ServerMessage("подпись невалидна", id);
                return(false);
            }
            byte[] newLogin = getData(DecodeData);

            if (this.ClientsList[id - 1].isAuthorised)
            {
                if (this.isUniqLogin(newLogin))
                {
                    this.ClientsList[id - 1].Login = newLogin;
                    this.ServerMessage("логин изменен", id);
                    BroadcastAboutNewUser(this.ClientsList[id - 1].Id, this.ClientsList[id - 1].Login,
                                          this.ClientsList[id - 1].Cipher.publicKey);
                    MessageAboutUsers(id);
                    byte[] Password = FileWork.GetClientPassword(Encoding.Unicode.GetString(oldLogin));
                    FileWork.Deletefile(Encoding.Unicode.GetString(oldLogin));
                    if (!FileWork.SaveClientInfo(Encoding.Unicode.GetString(newLogin), Password))
                    {
                        this.ServerMessage("не удалось вас зарегистрировать", id);
                        return(false);
                    }
                }
            }
            else
            {
                if (!this.isUniqLogin(newLogin))
                {
                    this.ClientsList[id - 1].Login = newLogin;
                    this.ServerMessage("логин принят", id);

                    this.ClientsList[id - 1].Password = FileWork.GetClientPassword(Encoding.Unicode.GetString(newLogin));
                    BroadcastAboutNewUser(this.ClientsList[id - 1].Id, this.ClientsList[id - 1].Login,
                                          this.ClientsList[id - 1].Cipher.publicKey);
                    MessageAboutUsers(id);
                    ///////// чтение пароля из файла
                }
                else
                {
                    this.ClientsList[id - 1].Login    = newLogin;
                    this.ClientsList[id - 1].Password = new byte[Const.PASSWORD_SIZE];
                    if (!FileWork.SaveClientInfo(Encoding.Unicode.GetString(newLogin), this.ClientsList[id - 1].Password))
                    {
                        this.ServerMessage("не удалось вас зарегистрировать", id);
                        return(false);
                    }
                    /// запись логина пароля в файл
                    this.ClientsList[id - 1].isAuthorised = true;
                    this.ClientsList[id - 1].isValidLogin = true;
                    this.ServerMessage("вы зарегистрированы: ", id);
                    BroadcastAboutNewUser(this.ClientsList[id - 1].Id, this.ClientsList[id - 1].Login,
                                          this.ClientsList[id - 1].Cipher.publicKey);
                    MessageAboutUsers(id);
                }
            }
            return(false);
        }