Remplacer des caractères saisis par des "*"

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour à tous !

Voilà, j'ai crée une minuscule programme MS DOS qui sert à lancer un programme si on saisit le bon mot de passe. Mon programme marche nickel sauf que je voudrais le compliquer un peu : j'aimerais que quand je saisisse le mot de passe dans le programme, les caractères soient remplacés par des "*" ou des "X", histoire de rendre le mot de passe un peu plus confidentiel...
Sauriez-vous comment faire ?
Merci à tous ceux qui pourront m'aider.
;)

2 réponses

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Tu as posté dans la catégorie "Forum > Programmation"
    Donc, tu code en quel langage ?
    0
    1. Utilisateur anonyme
       
      Quel étourdi ! C'est sur que si je ne met pas le langage avec lequel je code, ça n'ira pas.
      Je code donc en MS DOS car c'est un tout petit programme de contrôle de mot de passe. Mon programme ressemble à ça :
      @ECHO OFF
      :AFF
      echo Veuillez saisir votre mot de passe :
      set/p "pass=>"
      if NOT %pass%== 1234 goto FAIL
      goto PROG
      :FAIL
      cls
      echo Le mot de passe est incorrect
      goto AFF
      :PROG
      cls
      echo CONNEXION...
      start D:\StockExpress
      exit

      Et j'aimerais donc que, quand je saisisse "1234" (qui est le bon mot de passe), la fenêtre DOS ne m'affiche que "XXXX".
      Est-ce possible ?
      0
      1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387 > Utilisateur anonyme
         
        Je crois qu'en batch, cela n'est pas possible, il te faudra trouver un autre langage pour cela.
        Par exemple, des langages script tel que python ou VBS.
        0
      2. Utilisateur anonyme > NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Mince ! Bon eh bien, connaissez-vous le code pour créer un programme équivalent mais en code Python (ou VBS) ?
        0
    2. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      Pas spécialement, je n'ai pas utilisé VBS de cette manière là (mais je pense que c'est possible) et je ne connais pas assez Python.
      0
      1. Utilisateur anonyme > NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention  
         
        D'accord, eh bien je vais rechercher et on verra. Merci quand même d'avoir porté attention à ma question.
        Bonne soirée
        0
  2. Utilisateur anonyme
     
    Bonjour à tous !
    sachadee sur le forum développez.net m'a créé un petit programme 100 % BAT de contrôle de mot de passe et QUI REMPLACE LES CARACTERES "NORMAUX" PAR DES "*".
    Le voici, à vous de modifier le texte, le mot de passe... :
    @echo off&cls

    ::Le Mot de Passe
    set "$Mdp=toto1234"

    ::La longeur du Mot de passe
    set $Long=-1
    for /F "delims=" %%c in ('cmd /D /U /C echo %$Mdp% ^| find /V ""') do (set /a $Long+=1)

    ::Les autres variables
    set "$l="
    set "$l1="
    set "$C=0"

    :test
    if %$c%==%$Long% goto:Pastrouve
    set "$T="
    cls&echo Entrer votre MDP : %$l1%
    For /F "delims=" %%# In ('Xcopy /W "%~f0" "%~f0" 2^>Nul') Do If Not Defined $T Set "$T=%%#"

    set $testenter=%$T:~-1%
    if not defined $Testenter goto:Pastrouve

    if %$T:~-1%== (
    if not %$C%==0 (
    Set "$l=%$l:~0,-1%"
    set "$l1=%$l1:~0,-1%"
    set /a $C-=1)
    ) else (
    Set "$l=%$l%%$T:~-1%"
    set "$l1=%$l1%*"
    set /a $C+=1)

    if "%$l%"=="%$Mdp%" goto:trouve
    goto:test

    :trouve
    echo bravo
    exit/b

    :Pastrouve
    echo Pas trouv'
    exit/b
    0