@ ECHO OFF & SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
:_MENU
CLS
ECHO Seguridad en contrase¤a:
ECHO.
ECHO 1. Baja
ECHO 2. Media
ECHO 3. Alta
ECHO.
ECHO 0. Salir
ECHO.
(SET SECLEVEL=)
(SET /P SECLEVEL_=^> )
IF NOT DEFINED SECLEVEL_ (GOTO:_MENU)
IF ^%SECLEVEL_:~0,1%==1 (SET MAXCHAR=25&GOTO:_LENGHT)
IF ^%SECLEVEL_:~0,1%==2 (SET MAXCHAR=51&GOTO:_LENGHT)
IF ^%SECLEVEL_:~0,1%==3 (SET MAXCHAR=77&GOTO:_LENGHT)
IF ^%SECLEVEL_:~0,1%==0 (EXIT)
GOTO:_MENU
:_LENGHT
CLS
ECHO Longitud de contrase¤a:
ECHO.
(SET PASSWORDLENGTH=)
(SET /P PASSWORDLENGTH_=^> )
IF NOT DEFINED PASSWORDLENGTH_ (GOTO:_MENU)
(SET RESULT_=)
FOR /L %%I IN (1,1,%PASSWORDLENGTH_%) DO (
CALL :_ONERANDOMCHAR %MAXCHAR% RNDCHR_
SET RESULT_=!RESULT_!!RNDCHR_!
)
ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
IF ^%ERRORLEVEL%==0 SET FOUNDNUMBER=TRUE
ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
IF ^%ERRORLEVEL%==0 SET FOUNDSPECIAL=TRUE
IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
GOTO:_RESULT
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A DIV_=32767 / %1
SET /A RAND_=%RANDOM% / %DIV_%
SET RETURN_=!CHARS:~%RAND_%,1!
ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF
:_RESULT
CLS
ECHO Contrase¤a generada:
ECHO.
ECHO %RESULT_%
ECHO.
PAUSE
GOTO:_MENU
Escrito por mi, con la ayuda del código "Make a randomized password" de Timo Salmi.
anda a acordarte de esa pass xD
ta bueno , me gusta el code
_m me gusta mucho es buena idea.
Como podría tener un archivo bat que genere contraseñas de 50 caracteres sin seleccionar opción.
Uno para la opcion 1, otro para la opcion 2, etc...
En diferentes archivos bat
Salu2
Seguridad en contraseña: Baja
Longitud de contraseña: 50 carácteres
@ECHO OFF&SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
:_START
(SET RESULT_=)
FOR /L %%I IN (1,1,50) DO (
CALL :_ONERANDOMCHAR 25 RNDCHR_
SET RESULT_=!RESULT_!!RNDCHR_!
)
ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDNUMBER=TRUE
ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDSPECIAL=TRUE
IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
CLS
ECHO.%RESULT_%
ECHO.
PAUSE
GOTO:_START
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A DIV_=32767 / %1
SET /A RAND_=%RANDOM% / %DIV_%
SET RETURN_=!CHARS:~%RAND_%,1!
ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF
Seguridad en contraseña: Media
Longitud de contraseña: 50 carácteres
@ECHO OFF&SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
:_START
(SET RESULT_=)
FOR /L %%I IN (1,1,50) DO (
CALL :_ONERANDOMCHAR 51 RNDCHR_
SET RESULT_=!RESULT_!!RNDCHR_!
)
ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDNUMBER=TRUE
ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDSPECIAL=TRUE
IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
CLS
ECHO.%RESULT_%
ECHO.
PAUSE
GOTO:_START
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A DIV_=32767 / %1
SET /A RAND_=%RANDOM% / %DIV_%
SET RETURN_=!CHARS:~%RAND_%,1!
ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF
Seguridad en contraseña: Alta
Longitud de contraseña: 50 carácteres
@ECHO OFF&SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
:_START
(SET RESULT_=)
FOR /L %%I IN (1,1,50) DO (
CALL :_ONERANDOMCHAR 77 RNDCHR_
SET RESULT_=!RESULT_!!RNDCHR_!
)
ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDNUMBER=TRUE
ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDSPECIAL=TRUE
IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
CLS
ECHO.%RESULT_%
ECHO.
PAUSE
GOTO:_START
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A DIV_=32767 / %1
SET /A RAND_=%RANDOM% / %DIV_%
SET RETURN_=!CHARS:~%RAND_%,1!
ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF