Afficher un mot de passe crypté ()

Résolu
Black:bag Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir;
J'ai crypté un mot de passe de cette façon*****,mais en résumé je veux l'afficher ce que je veux faire (stocker le mot de passe crypté dans une chaine et puis l'afficher ).mais il y a un problème logistique : si le mot de passe n'est pas une chaîne de caractère par exemple:un nombre ??.
le code :

 #include <stdio.h> 
 
#include <stdlib.h>
 
int main(int argc,char**argv) 
{
  int input;
char c=13;
 
  printf("Please Enter your Password:\t");
 
  while(( input=getch())!=c)
        printf("*");
  printf("\n");
 
  return 0;
}


Merci

A voir également:

3 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,
Ton code ne chiffre pas (et non crypter) le code mais le masque. C'est vraiment différent.

Pour afficher le mot de passe entré, il faut le stocker. Donc, tu dois utiliser une chaîne de caractère : char mdp[50];
Ensuite, tu affiches toujours une étoile à chaque fois que l'utilisateur appuie sur une lettre mais au lieu de stocker dans input, tu stockes dans mdp[i] et incrémente i.

Pour afficher le mot de passe, tu auras juste à afficher la chaîne : puts(mdp);

char c=13;
Utilise plutôt : '\r' c'est plus lisible. Et t'es même pas obligé de créer une variable pour ça. On perd en lisibilité, surtout avec le nom que tu as utilisé.

Ensuite, si tu veux chiffrer le mot de passe, il te faudra implémenter une fonction de chiffrement. A toi de voir laquelle tu veux utiliser : RSA, AES, César, ... ?
0