Leitura de Senhas
Publicado por Fagner Amaral de Souza Candido 22/07/2008
[ Hits: 7.344 ]
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; }
Lista simplesmente encadeada C
Ajuda para calcular 5 Notas! Não Consigo colocar os gets na formula
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
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
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
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
Vc tem um projeto opensource? link? (5)
Olá quais distribuições recomendam para usar no dia a dia. (3)
minha maquina foi desinstalada o firefox eu preciso reinstalar tentei... (6)
Erro na inicialização do Arch Linux. (1)
windows 11 versao 24H2 não aplicando politicas samba4.21.1 GPO (4)