Logueador

Iniciado por chrominum, 28 Septiembre 2007, 23:29 PM

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

chrominum

Como el titulo del hilo indica, se trata de un logueador (contraseña solo numerica, porque la "cifra" caseramente con operaciones xD ). Aqui el codigo:


@echo off
:menu
cls
echo 1.Registrarse
echo 2.Conectarse
set /p menu=
cls
if %menu%==1 goto registrate
if %menu%==2 goto conectarse
:registrate
set /p usuario=Introduce tu nombre:
set /p pas=Introduce tu contraseña:
IF EXIST "%homdrive%\ArcheritONE\logueador\%usuario%" (
goto siexiste
) ELSE (
goto normal
)
:normal
mkdir "%homdrive%\ArcheritONE\logueador\%usuario%"
set /a pass=%pas%*%pas%-%pas%+42*12*144+1
reg add hkey_local_machine\software\ArcheritONE\logueador\%usuario% /v contra /t reg_sz /d %pass% /f
attrib +h +s +r "%homdrive%\ArcheritONE\logueador\%usuario%"
pause
goto menu
:siexiste
echo Lo sentimos, el usuario %usuario% ya existe, intenta con otro usuario
pause
goto menu
:conectarse
set /p user=Introduce tu nombre:
IF EXIST "%homdrive%\ArcheritONE\logueador\%user%" (
goto continuacion
) ELSE (
goto noexiste
)
:continuacion
set /p contra=Introduce la contraseña:
set /a contraen=%contra%*%contra%-%contra%+42*12*144+1
reg export "hkey_local_machine\software\ArcheritONE\logueador\%user%" "temp.tmp"
if not %errorlevel%==0 goto error
type temp.tmp | find "contra" > cadena_encontrada.tmp
del /S /F /Q /A:- temp.tmp > nul
FOR /F "tokens=2* delims==" %%I IN (cadena_encontrada.tmp) DO set var="%%I"
if "%var%"=="" goto error
FOR /F "tokens=2* delims==" %%I IN (cadena_encontrada.tmp) DO (
call:PARSEA %%I
)
goto :EOF
:PARSEA
del /S /F /Q /A:- cadena_encontrada.tmp > nul
SET PP="%~1"
SET PP=%PP:\\=\%
SET PP=%PP:"=%
if %PP%==%contraen% (
goto bienvenido
) ELSE (
goto contraerronea
)
:bienvenido
cls
echo Bienvenido %user%
pause
exit
:error
echo Ha habido un error, intenta de nuevo
pause
goto menu
:contraerronea
echo Lo sentimos, la contraseña introducida para este usuario es incorrecta, porfavor intente de nuevo.
goto menu
:noexiste
echo Lo sentimos, el nombre de usuario introducido es incorrecto, porfavor intente de nuevo.
pause
goto menu


Las operaciones para "cifrar" y comprobar la contraseña podeis cambiarlas por las que os de la gana (yo las he puesto a lo tuntun  ;D ).

Dejen sus comentarios, es mi 2º codigo util que hago xD