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.

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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 ?

    1. un script le plus simple possible pas forcement securiser
    2. mon script permet d'acceder a un dossier cache afin de completer le niveau secret d'un jeu
    3. @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.
    4. merci