@ ECHO OFF
& SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
@#/
()=+-,.;:_*'
:_MENU
CLS
ECHO Seguridad en contrase¤a:
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) :_LENGHT
CLS
ECHO Longitud de contrase¤a:
(SET /P PASSWORDLENGTH_=
^> ) 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
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A RAND_=
%RANDOM% /
%DIV_% SET RETURN_=
!CHARS:~% style="color: #448888;">RAND_%,1! :_RESULT
CLS
ECHO Contrase¤a generada:
Escrito por mi, con la ayuda del código "Make a randomized password" de Timo Salmi.
_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
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
@#/
()=+-,.;:_*'
:_START
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
CLS
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A RAND_=
%RANDOM% /
%DIV_% SET RETURN_=
!CHARS:~% style="color: #448888;">RAND_%,1!
Seguridad en contraseña: Media
Longitud de contraseña: 50 carácteres
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
@#/
()=+-,.;:_*'
:_START
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
CLS
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A RAND_=
%RANDOM% /
%DIV_% SET RETURN_=
!CHARS:~% style="color: #448888;">RAND_%,1!
Seguridad en contraseña: Alta
Longitud de contraseña: 50 carácteres
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
@#/
()=+-,.;:_*'
:_START
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
CLS
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A RAND_=
%RANDOM% /
%DIV_% SET RETURN_=
!CHARS:~% style="color: #448888;">RAND_%,1!