Ir ao conteúdo
  • Cadastre-se

Dúvida: Como comparar a senha no C#


Santucci

Posts recomendados

Olá!

 

Estou tentando fazer um programa somente pesquisando na Web os códigos que preciso e montando de acordo....

Na verdade, quero aprender qual a função do código e tudo mais, por isso resolvi fazer um "Banco".

 

 

O código mostra até depois do Stream(leitura da senha), o problema é que quando cai no else ele aparece senha incorreta, mesmo ela sendo correta.

 

Ficarei grato se me ajudarem, pois é fundamental esta parte dos meus estudos..

namespace Banco_Santucci{    public partial class frmLoginGerente : Form    {        public frmLoginGerente()        {            InitializeComponent();        }        //Variáveis para captura da senha do usuário        private char senha_gerente;        //linha de informação        String line;               //Variável contendo o destino onde será salvo/escrito/verificado algo        private String local_arquivo = @"C:\Arquivo_banco\";        //Botão de entrada no sistema        private void btnEntrar_Click(object sender, EventArgs e)        {            verificar_gerente();        }        //Verifica se existe o gerente        private void verificar_gerente()        {            //concatenando o destino com o que o usuário digitar mais o tipo de arquivo            local_arquivo += txbUsuarioGerente.Text + ".txt";            //verifica a existência do arquivo/usuário            if (File.Exists(local_arquivo))            {                //txbUsuarioGerente.Text = "Chegou if";                //Grava a linha do arquivo                using (StreamReader reader = new StreamReader(local_arquivo))                {                    while ((line = reader.ReadLine()) != null)                    {                        Console.WriteLine(line);                             }                }                              if(line == txbSenhaGerente.Text)                {                    txbUsuarioGerente.Text = "if - senha correta";                }Por que o código cai aqui no else?                else                {                    txbUsuarioGerente.Text = "else - senha incorreta";                }                          }            else            {                //Se não existir exibo a mensagem                MessageBox.Show("Conta inexistente" + "\n" + "Verifique o usuário ou a senha.");            }        }    }}
Link para o comentário
Compartilhar em outros sites

Olá!

 

Consegui resolver o meu problema fazendo isso:

using (StreamReader reader = new StreamReader(local_arquivo)){    while ((line = reader.ReadLine()) != null)    {        Console.WriteLine(line);        senha_gerente = Convert.ToString(line);    }}

Por que quando eu coloco assim:

using (StreamReader reader = new StreamReader(local_arquivo)){    while ((line = reader.ReadLine()) != null)    {        Console.WriteLine(line);      }}senha_gerente = Convert.ToString(line);

Ele não funciona? aparece a "line" vazia e cai direto para o Else imprimindo "Senha incorreta".

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Olhando melhor, o seu loop apaga a ultima leitura

//Permaneça no loop enquanto line não for nulowhile((line = reader.ReadLine()) != null){    //Entrou no loop por que line não é nulo    Console.WriteLine(line);}//Se saiu do loop e chegou aqui é porque o (line = reader.ReadLine()) == null, ou seja, line == null

Ou seja, o ultimo ReadLine(), que é nulo, sobrescreve a informação anterior.

Na boa, essa nem de longe é uma implementação de verificação de senha segura, nem prática, pelo que eu entendi cada senha em um arquivo texto?, arquivo que o usuário digita o nome?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...