Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - _m

#1
Código (dos) [Seleccionar]
@ 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.