Comparaison ms dos
bonjour, j'ai coder un programme au quel je souhaite ajouter une authentification par mot de passe, mais je ne sais pas comment comparé ce que l'user tape au clavier et le mot de passe enregistrer.
merci d'avance pour vos reponse.
merci d'avance pour vos reponse.
2 réponses
-
ModérateurEn quel langage ?
-
Bonsoir,
Pour pouvoir t'aider, montre-nous ton code.
Les mots de passe seront enregistrés où ? Sur le disque dur ?
Les mots de passe seront stockés en clair ou bien hachés ?
-
-
-
@lescripteurVoilà un exemple assez simple à comprendre :
@echo off
setlocal enableextensions enabledelayedexpansion
chcp 1252 >nul
set database=%ProgramData%\base_donnees.txt
if not exist "%database%" (echo. > "%database%")
:debut
call :inscription
echo. & pause
call :connexion
echo. & pause
goto :debut
:inscription
cls
set "user="
set "password="
echo. & set /p user="Choisissez votre nom d'utilisateur : "
if not defined user (goto :inscription)
echo. & set /p password="Choisissez votre mot de passe : "
if not defined password (goto :inscription)
echo #%user%###%password%# >> "%database%"
echo. & echo Inscription validée !
goto :eof
:connexion
cls
set "user="
set "password="
set auth=0
echo. & set /p user="Tapez votre nom d'utilisateur : "
if not defined user (goto :connexion)
echo. & set /p password="Tapez votre mot de passe : "
if not defined password (goto :connexion)
for /f "usebackq tokens=1,2 delims=#" %%A in ("%database%") do (
if "%%~A"=="%user%" (if "%%~B"=="%password%" (set auth=1))
)
if !auth! EQU 1 (echo. & echo Authentification OK) else (echo. & echo Authentification KO)
goto :eof
rem
Si tu veux de la sécurité il faut "hasher" les mots de passe grâce à une commande externe. -
-