Se connecter / S'enregistrer
Votre question

Saisis de text cacher par des " * " en [Batch]

Tags :
  • Batch
  • Programmation
Dernière réponse : dans Programmation
27 Février 2010 22:48:17

Bonjour,
J'aimerais savoir s'il est possible que lorsque nous écrivons du text dans une ligne de commande celui-ci peut se changer automatiquement par des " * " afin de ne pas pouvoir regarder ce que j'ai tapé.

Merci.

Autres pages sur : saisis text cacher batch

a b L Programmation
28 Février 2010 11:55:33

Par défaut, ce n'est pas possible. Il faut utiliser un programme spécifique (ou bibliothèque) en ligne de commande.
m
0
l
28 Février 2010 14:23:40

Oui j'ai cru remarquer sa après quelques recherche. J'ai finalement trouver quelque chose qui répond à ma question mais qui me satisfait à moitié. Car en fait il permet de cree un mot de passe pas de le reconnaitre. J'ai de la difficulté à le modifier pour qu'il puisse simplement reconaitre un mot de passe. Voila ce que j'ai.

Merci de votre aide :) 

Fichier .ini (est la bibliothèque) :
Spoiler
  1. 48.0
  2. 49.1
  3. 50.2
  4. 51.3
  5. 52.4
  6. 53.5
  7. 54.6
  8. 55.7
  9. 56.8
  10. 57.9
  11. 65.A
  12. 66.B
  13. 67.C
  14. 68.D
  15. 69.E
  16. 70.F
  17. 71.G
  18. 72.H
  19. 73.I
  20. 74.J
  21. 75.K
  22. 76.L
  23. 77.M
  24. 78.N
  25. 79.O
  26. 80.P
  27. 81.Q
  28. 82.R
  29. 83.S
  30. 84.T
  31. 85.U
  32. 86.V
  33. 87.W
  34. 88.X
  35. 89.Y
  36. 90.Z
  37. 97.a
  38. 98.b
  39. 99.c
  40. 100.d
  41. 101.e
  42. 102.f
  43. 103.g
  44. 104.h
  45. 105.i
  46. 106.j
  47. 107.k
  48. 108.l
  49. 109.m
  50. 110.n
  51. 111.o
  52. 112.p
  53. 113.q
  54. 114.r
  55. 115.s
  56. 116.t
  57. 117.u
  58. 118.v
  59. 119.w
  60. 120.x
  61. 121.y
  62. 122.z


Fichier ".exe" :
Spoiler
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6. return getch();
  7. }


Fichier ".bat" :
Spoiler
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set pass=
  4. set NbrCaracteres=0
  5. :pass
  6. set passEtoiles=
  7. cls
  8. echo Entré votre passe et terminer par entre:
  9. if %NbrCaracteres% NEQ 0 (
  10. for /l %%i in (1,1,!NbrCaracteres!) do set passEtoiles=!passEtoiles!*
  11. echo !passEtoiles!)
  12.  
  13. key
  14. if %errorlevel%==8 if %NbrCaracteres% NEQ 0 set /a NbrCaracteres-=1& call set pass=%%pass:~0,%nbr%%%
  15. for /F "tokens=1,2 delims=." %%i in ('type char.ini') do if %errorlevel%==%%i set pass=%pass%%%j& set /a NbrCaracteres+=1
  16. if %errorlevel%==13 goto fin
  17. goto pass
  18.  
  19. :fin
  20. echo Votre mdp est %pass%
  21. pause
m
0
l
a b L Programmation
28 Février 2010 19:42:19

Le mieux c'est de passer par une signature md5 ou sha1 et de comparer les signatures, pour éviter de stocker le mot de passe en clair dans le .bat
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS