Leitura de Senhas
Publicado por Fagner Amaral de Souza Candido 22/07/2008
[ Hits: 7.335 ]
Homepage: https://github.com/fagnercandido
Todas as vezes que lemos senhas, os caracteres são apresentados na tela. Isso talvez não seja o que você deseja.
Uma possível solução é a função getch, da conio.h. Mas ela não é portável. Observando o nosso querido Linux, ele também tem uma forma de fazer a leitura, sem que os caracteres da senha sejam apresentados(su, sudo su....).
O código que posto é bem simples, mas pode ajudar a muitos(espero).
Abraços a Todos
/* Autor : Fagner Candido E-mail : fagner7777777@gmail.com */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <termios.h> #define MAX_SENHA 10 // Máximo para a Senha int main(int argc, char **argv){ // Declarações /*Define as estrutura manipularão o terminal*/ struct termios antigoTermios, novoTermios; char senha[MAX_SENHA]; // Instruções /* Função que obtém as informações do Terminal file(stdin) : Entrada Padrão antigoTermios : Recebe as informações */ tcgetattr(fileno(stdin), &antigoTermios); /* Atribuímos as características do terminal a estrutura */ novoTermios = antigoTermios; /* Definimos uma Propriedade : Terminal não irá imprimir nada */ novoTermios.c_lflag &= ~ECHO; printf("Informe a Senha : "); /* Novas Características ao Terminal */ if(tcsetattr(fileno(stdin), TCSAFLUSH, &novoTermios ) != 0 ){ /*Caso dê erro*/ printf("Erro!\n" ); exit(0); } else{ /*Caso dê Certo*/ fgets(senha, MAX_SENHA, stdin); tcsetattr(fileno(stdin), TCSANOW, &antigoTermios ); } printf("\nSenha : %s", senha); return 0; }
Preloader.c - Adaptação do Tarik Ahmad (Thiago Alexandre) para linux
Conio.h para Linux (Nova versão)
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
A area de trabalho ficou preta (14)
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (4)
xubuntu sem sons de eventos (4)