Remplacer des caractères saisis par des "*"

Résolu/Fermé
Utilisateur anonyme - 18 janv. 2015 à 12:02
 Utilisateur anonyme - 26 janv. 2015 à 18:55
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.
;)
A voir également:

2 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
18 janv. 2015 à 13:22
Tu as posté dans la catégorie "Forum > Programmation"
Donc, tu code en quel langage ?
0
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
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331 > Utilisateur anonyme
18 janv. 2015 à 14:54
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
Utilisateur anonyme > NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024
18 janv. 2015 à 20:24
Mince ! Bon eh bien, connaissez-vous le code pour créer un programme équivalent mais en code Python (ou VBS) ?
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
18 janv. 2015 à 21:17
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
Utilisateur anonyme > NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024
19 janv. 2015 à 16:44
D'accord, eh bien je vais rechercher et on verra. Merci quand même d'avoir porté attention à ma question.
Bonne soirée
0
Utilisateur anonyme
26 janv. 2015 à 18:55
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