Cryptage du mot de passe
Résolu
stevelaclasse
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
stevelaclasse Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
stevelaclasse Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai le programme suivant :
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
char ip[6] ;
char mot[] = "azerty" ;
printf("entrer votre mot de passe:") ;
scanf("%s",&ip) ;
short comp = strcmp(ip,mot);
if(comp==0)
{
printf(" votre mot de passe est correct continuer \n \a") ;
system("pause") ;
}
else
{printf("votre mot de passse est incorrect desole") ;
system("pause") ;
}
}
bon je voudrais insérer une fonction je ne sais pas la quelle qui remplacera chaque lettre entrer par des étoiles
pour le cas présent je voudrais par exemple que l'ordinateur au lieu d'afficher azerty comme il fait affiche plutôt ****** ou ------ ou encore 000000
merci d'avance.
j'ai le programme suivant :
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
char ip[6] ;
char mot[] = "azerty" ;
printf("entrer votre mot de passe:") ;
scanf("%s",&ip) ;
short comp = strcmp(ip,mot);
if(comp==0)
{
printf(" votre mot de passe est correct continuer \n \a") ;
system("pause") ;
}
else
{printf("votre mot de passse est incorrect desole") ;
system("pause") ;
}
}
bon je voudrais insérer une fonction je ne sais pas la quelle qui remplacera chaque lettre entrer par des étoiles
pour le cas présent je voudrais par exemple que l'ordinateur au lieu d'afficher azerty comme il fait affiche plutôt ****** ou ------ ou encore 000000
merci d'avance.
A voir également:
- Cryptage du mot de passe
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
3 réponses
Bonjour,
Ceci n'est pas possible nativement.
Néanmoins, tu peux le faire en utilisant des fonctions du noyau.
Vu les system("PAUSE"), j'en déduis que t'es sur Windows.
Dans ce cas, tu pourras très bien utiliser la fonction _getch().
Je t'ai fait un petit exemple :
Néanmoins, ce code n'est pas parfait puisqu'il ne te sera pas possible d'utiliser la touche backspace. De plus, je te conseille le bloc dans une fonction. Ce sera plus propre.
Sinon, quelques remarques concernant ton code :
scanf("%s",&ip) ; attention, pas d'esperluette (&) devant ip. ip représente déjà une adresse puisqu'employé en argument.
Utilisez scanf sans contrôle sur la taille est très dangereux. Il vaut mieux utiliser fgets ou alors faire très attention. Par exemple : scanf("%5s",ip) eut été préférable.
system("pause") ;
D'une manière générale, il convient d'éviter d'utiliser la fonction system(), pas du tout performante et non portable.
main()
Le prototype de la fonction main sans argument est : int main(void);
Elle renvoie un int qu'il convient de ne pas oublier. D'où le return 0; en fin de programme.
Et enfin pour information, il ne s'agit pas d'un cryptage de mot de passe puisque chaque lettre de ton tableau sera en clair.
Cdlt,
Ceci n'est pas possible nativement.
Néanmoins, tu peux le faire en utilisant des fonctions du noyau.
Vu les system("PAUSE"), j'en déduis que t'es sur Windows.
Dans ce cas, tu pourras très bien utiliser la fonction _getch().
Je t'ai fait un petit exemple :
#include <stdio.h> #include <stdlib.h> #include <conio.h> int main(void) { char mdp[9]; int c; int i=0; printf("tapez texte: "); fflush(stdout); while(i<sizeof mdp - 1 && (c=_getch())!='\r') { mdp[i++]=c; putchar('*'); } mdp[i]=0; putchar('\n'); puts(mdp); system("PAUSE"); return 0; }
Néanmoins, ce code n'est pas parfait puisqu'il ne te sera pas possible d'utiliser la touche backspace. De plus, je te conseille le bloc dans une fonction. Ce sera plus propre.
Sinon, quelques remarques concernant ton code :
scanf("%s",&ip) ; attention, pas d'esperluette (&) devant ip. ip représente déjà une adresse puisqu'employé en argument.
Utilisez scanf sans contrôle sur la taille est très dangereux. Il vaut mieux utiliser fgets ou alors faire très attention. Par exemple : scanf("%5s",ip) eut été préférable.
system("pause") ;
D'une manière générale, il convient d'éviter d'utiliser la fonction system(), pas du tout performante et non portable.
main()
Le prototype de la fonction main sans argument est : int main(void);
Elle renvoie un int qu'il convient de ne pas oublier. D'où le return 0; en fin de programme.
Et enfin pour information, il ne s'agit pas d'un cryptage de mot de passe puisque chaque lettre de ton tableau sera en clair.
Cdlt,