Remplacer des caractères saisis par des "*"
Résolu/Fermé
A voir également:
- Remplacer des caractères saisis par des "*"
- Remplacer disque dur par ssd - Guide
- Caractères ascii - Guide
- Remplacer par word - Guide
- Caractères spéciaux clavier azerty - Guide
- Caractères spéciaux - Guide
2 réponses
NHenry
Messages postés
15190
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 février 2025
353
18 janv. 2015 à 13:22
18 janv. 2015 à 13:22
Tu as posté dans la catégorie "Forum > Programmation"
Donc, tu code en quel langage ?
Donc, tu code en quel langage ?
Utilisateur anonyme
26 janv. 2015 à 18:55
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
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
Modifié par gogo71 le 18/01/2015 à 13:46
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 ?
18 janv. 2015 à 14:54
Par exemple, des langages script tel que python ou VBS.
18 janv. 2015 à 20:24
18 janv. 2015 à 21:17
19 janv. 2015 à 16:44
Bonne soirée