Leitura de Senhas
Publicado por Fagner Amaral de Souza Candido 22/07/2008
[ Hits: 7.389 ]
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; }
Função para validação de datas
Função para concatenar texto ilimitada
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Como fzr Downgrade em um pacote específico (1)
Contas online no POP OS 24.04 ? (2)
problema para barrar sites/downloas via HTTPS. (2)