• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Kriptosgeek

Login com asteriscos

4 mensagens neste tópico

Boas!

Vou postar uma classe muito simples que permite ao utilizado inserir uma password mas enquanto escreve so aparece os asteriscos em vez do caracter.

So o estou mesmo a postar porque eu quando o fiz deu um bocado de trabalho porque a password teclada não correspondia ao numero de caracteres em tempo real e este algoritmo ja o faz.

Este codigo ja o fiz há uns dois meses, se souberem alguma função do c++ que faça o mesmo que este codigo ou se conhecerem um metodo melhor post!

#include <conio.h>
#include <iostream.h>

void main()
{
   class senha
   {
   public:
   char pass[30];

        void insere()
        {
        char c;
        int i,posicao=0;
        bool flag=true;

        while (flag)
        {
        cout << '\r';
        for (i=0;i<posicao+1;i++) cout << ' ';
        cout << '\r';
        for (i=0;i<posicao;i++) cout <<'*';
        c=getche();
        //caracter 13=enter e caracter 8=backspace
        if (c==13) {pass[posicao]=0; flag=false;}
        else if (c==8 && posicao>0) {posicao--; pass[posicao]=' ';}
        else if (c==8 && posicao==0) {}
        else {
             pass[posicao]=c;
               posicao++;
             }
        }
        }
   }p1;



   p1.insere();
   cout << "\n"<<p1.pass;
   getche();
   getche();

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom post....  :P

Neste momento tou dentro de um pequeno projecto e estava a precisar mesmo disto.... Mas claro se houvesse uma função interna, é muito mais simples, em termos de código....

Se alguém souber dessa função, que se chegue à frente com ela....

cumps  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Neste momento tou dentro de um pequeno projecto e estava a precisar mesmo disto.... Mas claro se houvesse uma função interna, é muito mais simples, em termos de código....

Se alguém souber dessa função, que se chegue à frente com ela....

No unistd.h existe a função getpass() (ela não produz echo nenhum), vê a man page, por algum motivo ela esta' marcada como obsoleta.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora