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

logan

PASSWORD

14 mensagens neste tópico

:cheesygrin:

Boas;

Tou  a fazer um programa em C e em dado momento tenho que pedir uma password, ao utilizador, como posso

fazer para ela nao ser visivel, isto é escrever sem eco?

Obrigado, e votos de boa programação!

Marco :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

void getPass(char pass[100]){
    char c;
    int i = 0;

    while(1){
        fflush(stdin);
        c=getch();
        if (c>47 && c<123){    //caracteres
            pass[i]=c;
            i++;
        }else if(c==8){             //backspace
            if(i>0)
            i--;
        }
        else if(c==13){             //enter
            pass[i]='\0';
            break;
        }
    }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No linux há mesmo um .h que tem uma função que saca a pass sem mostrar nada.

Mas não me lembro do nome  :dontgetit: :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:hmm:

Bom dia a todos;

Ca estou eu outra vez a chatear... é o seguinte estou a fazer um trabalho em C e a dado momento o utilizador

tem que inserir um password, sabem como posso fazer para a passe nao ser visivel na consola e  apenas *********?

Cumprimentos;

Marco

:P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usar a função getch(); (apesar de só funcionar em windows)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para linux podes usar a função getpass(). Mas não aparecem os asteriscos, apenas não vês as letras.

EDIT: Não tinhas perguntado o mesmo aqui ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:wallbash:

sim, mas o professores diz que nao quer assim porque o utilizador comum fica sem saber o que fazer quando nao ve a escrever nada...

:wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então tenta adicionar um printf("*"); dentro da função de cada vez que o utilizador prime uma tecla.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
EDIT: Não tinhas perguntado o mesmo aqui ?

Tópico unido.

abraços, HecKel

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

getch(); putchar('*');

Não vejo qual é o problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ja agora , aproveito para o pedir em html, é possivel ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nebur, se calhar convém pedires isso no quadro destinado a tal.

abraços, HecKel

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ja agora , aproveito para o pedir em html, é possivel ?

Basta indicares que o field é de tipo password que ele automaticamente esconde a password.

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