(Batch) Es Posible hacer password char en batch? (Pregunta)

Iniciado por maty_16_94, 27 Abril 2009, 11:12 AM

0 Miembros y 1 Visitante están viendo este tema.

maty_16_94

Bueno estoy haciendo un proyecto que despues capas postee y necesito utilizar un passwordchar (asteriscos q reemplazan los caracteres en una contraseña) pero no se me ocurre como hacer Denme una ayuda please!

Novlucker

Se me ocurre mezclandolo con vbs  :P

Código (vb) [Seleccionar]
@echo off
echo ^Set objPassword = CreateObject("ScriptPW.Password") >> %temp%\temp.vbs
echo WScript.StdOut.Write "Por favor, introduzca una contraseña:" >> %temp%\temp.vbs
echo strPassword = objPassword.GetPassword() >> %temp%\temp.vbs
echo ^set objfso = createobject("scripting.filesystemobject") >> %temp%\temp.vbs
echo ^set atemp = objfso.createtextfile(objfso.getspecialfolder(2) ^& "\pass.txt",true) >> %temp%\temp.vbs
echo atemp.write strPassword:atemp.close >> %temp%\temp.vbs
cscript /nologo %temp%\temp.vbs
more %temp%\pass.txt
del %temp%\pass.txt
del %temp%\temp.vbs
pause


Este "passwordchar" lo que hace es no mostrar lo que se ingresa en pantalla  :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

EddyW

Ho, ni siquiera se me ocurrio hacer eso con VBS..
no sabia para que era GetPassword(), gracias, tambien me ayudaste, yo lo hacia de otra forma pero esta, esta mejor..
con tu permiso mas tarde modifico mi tuto y le agrego esto, OK.
SaluDOS!!!

Novlucker

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

maty_16_94

#4
Gracias Nov... ya solucione el problema con un codigo de carlos  o algo asi :P
gracias de todos modos...
el code q use es este.Vuelvo a aclarar q no es mio

@echo off
Title Usando Asteriscos en una Clave
::Escrito por Carlos

if not exist "reply.exe" (call:reply)
setlocal
set PWL=
set letra=
set/a contador=0
set /a TAM=10
set PASSWORD=

call:prompt

:inicio
reply.exe
set letra=%errorlevel%
if [%letra%]==[13] (goto:fin) else (call:ascii %letra%)
goto:eof

:fin
echo.
set/p pass=Password <nul
if [%PASSWORD%]==[%PWL%] (set/p pass=correcta<nul) else (set/p pass=incorrecta<nul)
echo.
pause
goto menu

goto:eof

:ascii
if %1==8 (call:borrar)
if %contador% GEQ %TAM% (goto:inicio)
if %1==48 (set PWL=%PWL%0&goto:contador)
if %1==49 (set PWL=%PWL%1&goto:contador)
if %1==50 (set PWL=%PWL%2&goto:contador)
if %1==51 (set PWL=%PWL%3&goto:contador)
if %1==52 (set PWL=%PWL%4&goto:contador)
if %1==53 (set PWL=%PWL%5&goto:contador)
if %1==54 (set PWL=%PWL%6&goto:contador)
if %1==55 (set PWL=%PWL%7&goto:contador)
if %1==56 (set PWL=%PWL%8&goto:contador)
if %1==57 (set PWL=%PWL%9&goto:contador)
if %1==65 (set PWL=%PWL%A&goto:contador)
if %1==66 (set PWL=%PWL%B&goto:contador)
if %1==67 (set PWL=%PWL%C&goto:contador)
if %1==68 (set PWL=%PWL%D&goto:contador)
if %1==69 (set PWL=%PWL%E&goto:contador)
if %1==70 (set PWL=%PWL%F&goto:contador)
if %1==71 (set PWL=%PWL%G&goto:contador)
if %1==72 (set PWL=%PWL%H&goto:contador)
if %1==73 (set PWL=%PWL%I&goto:contador)
if %1==74 (set PWL=%PWL%J&goto:contador)
if %1==75 (set PWL=%PWL%K&goto:contador)
if %1==76 (set PWL=%PWL%L&goto:contador)
if %1==77 (set PWL=%PWL%M&goto:contador)
if %1==78 (set PWL=%PWL%N&goto:contador)
if %1==79 (set PWL=%PWL%O&goto:contador)
if %1==80 (set PWL=%PWL%P&goto:contador)
if %1==81 (set PWL=%PWL%Q&goto:contador)
if %1==82 (set PWL=%PWL%R&goto:contador)
if %1==83 (set PWL=%PWL%S&goto:contador)
if %1==84 (set PWL=%PWL%T&goto:contador)
if %1==85 (set PWL=%PWL%U&goto:contador)
if %1==86 (set PWL=%PWL%V&goto:contador)
if %1==87 (set PWL=%PWL%W&goto:contador)
if %1==88 (set PWL=%PWL%X&goto:contador)
if %1==89 (set PWL=%PWL%Y&goto:contador)
if %1==90 (set PWL=%PWL%Z&goto:contador)
if %1==97 (set PWL=%PWL%a&goto:contador)
if %1==98 (set PWL=%PWL%b&goto:contador)
if %1==99 (set PWL=%PWL%c&goto:contador)
if %1==100 (set PWL=%PWL%d&goto:contador)
if %1==101 (set PWL=%PWL%e&goto:contador)
if %1==102 (set PWL=%PWL%f&goto:contador)
if %1==103 (set PWL=%PWL%g&goto:contador)
if %1==104 (set PWL=%PWL%h&goto:contador)
if %1==105 (set PWL=%PWL%i&goto:contador)
if %1==106 (set PWL=%PWL%j&goto:contador)
if %1==107 (set PWL=%PWL%k&goto:contador)
if %1==108 (set PWL=%PWL%l&goto:contador)
if %1==109 (set PWL=%PWL%m&goto:contador)
if %1==110 (set PWL=%PWL%n&goto:contador)
if %1==111 (set PWL=%PWL%o&goto:contador)
if %1==112 (set PWL=%PWL%p&goto:contador)
if %1==113 (set PWL=%PWL%q&goto:contador)
if %1==114 (set PWL=%PWL%r&goto:contador)
if %1==115 (set PWL=%PWL%s&goto:contador)
if %1==116 (set PWL=%PWL%t&goto:contador)
if %1==117 (set PWL=%PWL%u&goto:contador)
if %1==118 (set PWL=%PWL%v&goto:contador)
if %1==119 (set PWL=%PWL%w&goto:contador)
if %1==120 (set PWL=%PWL%x&goto:contador)
if %1==121 (set PWL=%PWL%y&goto:contador)
if %1==122 (set PWL=%PWL%z&goto:contador)
goto:inicio

:contador
set/a contador+=1
call:asterisc
goto:inicio

:borrar
if %contador% LEQ 0 (goto:eof)
set/a contador-=1
call:prompt
for /l %%a in (1,1,%contador%) do (call:asterisc)
set PWL=%PWL:~0,-1%
goto:eof

:reply
(
echo n reply.dat
echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
echo rcx
echo 002E
echo w0
echo q
echo.
)>reply.dat
type reply.dat|debug>NUL 2>&1
del/f/q/a "REPLY.EXE">NUL 2>&1
ren reply.dat "REPLY.EXE"
goto:eof

:prompt
cls
set/p pass=Enter password:<nul
goto:eof

:asterisc
set/p pass=*<nul
goto:eof

EddyW

#5
Ok, esta bien, yo tengo otro code con menos lineas de comandos haber que tal va ahora lo posteo..
un momento..

EDIT:
Mi code se frego lo siento tendra que ser despues, dirigi la salida de comandos al mismo batch y se borro..


EddyW

Ok, lo posteo igual otro dia, el mio no hacia CLS no se veia la pantalla parpadeando..
y el code ese se puede simplificar un poco mas..
SaluDOS!!!

Novlucker

#8
Si, ese Carlos  es del foro, y todo el tiempo esta sacandole provecho a batch  :rolleyes:

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

0x0309

Conozco otra forma de hacerlo también en batch, que es usando batch, debug, ansi.sys, command.com, aunque no lo he probado, pero pienso que debe funcionar. Si a alguien le interesa lo posteo, sino no.