Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: _m en 26 Enero 2009, 04:44 am



Título: [Batch] Generador de contraseñas seguras
Publicado por: _m en 26 Enero 2009, 04:44 am
Código
  1. @ ECHO OFF & SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  2.   SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
  3. :_MENU
  4.   CLS
  5.   ECHO Seguridad en contrase¤a:
  6.   ECHO.
  7.   ECHO 1. Baja
  8.   ECHO 2. Media
  9.   ECHO 3. Alta
  10.   ECHO.
  11.   ECHO 0. Salir
  12.   ECHO.
  13.  (SET SECLEVEL=)
  14.  (SET /P SECLEVEL_=^> )
  15.   IF NOT DEFINED SECLEVEL_ (GOTO:_MENU)
  16.   IF ^%SECLEVEL_:~0,1%==1 (SET MAXCHAR=25&GOTO:_LENGHT)
  17.   IF ^%SECLEVEL_:~0,1%==2 (SET MAXCHAR=51&GOTO:_LENGHT)
  18.   IF ^%SECLEVEL_:~0,1%==3 (SET MAXCHAR=77&GOTO:_LENGHT)
  19.   IF ^%SECLEVEL_:~0,1%==0 (EXIT)
  20.   GOTO:_MENU
  21. :_LENGHT
  22.   CLS
  23.   ECHO Longitud de contrase¤a:
  24.   ECHO.
  25.  (SET PASSWORDLENGTH=)
  26.  (SET /P PASSWORDLENGTH_=^> )
  27.   IF NOT DEFINED PASSWORDLENGTH_ (GOTO:_MENU)
  28.   (SET RESULT_=)
  29.   FOR /L %%I IN (1,1,%PASSWORDLENGTH_%) DO (
  30.   CALL :_ONERANDOMCHAR %MAXCHAR% RNDCHR_
  31.   SET RESULT_=!RESULT_!!RNDCHR_!
  32.  )
  33.   ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
  34.   IF ^%ERRORLEVEL%==0 SET FOUNDNUMBER=TRUE
  35.   ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
  36.   IF ^%ERRORLEVEL%==0 SET FOUNDSPECIAL=TRUE
  37.   IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
  38.   IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
  39.   GOTO:_RESULT
  40. :_ONERANDOMCHAR
  41.   SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  42.   SET /A DIV_=32767 / %1
  43.   SET /A RAND_=%RANDOM% / %DIV_%
  44.   SET RETURN_=!CHARS:~% style="color: #448888;">RAND_%,1!
  45.   ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF
  46. :_RESULT
  47.   CLS
  48.   ECHO Contrase¤a generada:
  49.   ECHO.
  50.   ECHO %RESULT_%
  51.   ECHO.
  52.   PAUSE
  53.   GOTO:_MENU


Escrito por mi, con la ayuda del código "Make a randomized password" de Timo Salmi.


Título: Re: [Batch] Generador de contraseñas
Publicado por: Darioxhcx en 26 Enero 2009, 15:35 pm
anda a acordarte de esa pass xD

ta bueno  , me gusta el code


Título: Re: [Batch] Generador de contraseñas
Publicado por: Garcad en 27 Enero 2009, 15:20 pm
_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


Título: Re: [Batch] Generador de contraseñas
Publicado por: _m en 27 Enero 2009, 17:11 pm
Seguridad en contraseña: Baja
Longitud de contraseña: 50 carácteres

Código
  1. @ECHO OFF&SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  2. SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
  3. :_START
  4. (SET RESULT_=)
  5. FOR /L %%I IN (1,1,50) DO (
  6. CALL :_ONERANDOMCHAR 25 RNDCHR_
  7. SET RESULT_=!RESULT_!!RNDCHR_!
  8. )
  9. ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
  10. IF %ERRORLEVEL% EQU 0 SET FOUNDNUMBER=TRUE
  11. ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
  12. IF %ERRORLEVEL% EQU 0 SET FOUNDSPECIAL=TRUE
  13. IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
  14. IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
  15. CLS
  16. ECHO.%RESULT_%
  17. GOTO:_START
  18. :_ONERANDOMCHAR
  19. SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  20. SET /A DIV_=32767 / %1
  21. SET /A RAND_=%RANDOM% / %DIV_%
  22. SET RETURN_=!CHARS:~% style="color: #448888;">RAND_%,1!
  23. ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF

Seguridad en contraseña: Media
Longitud de contraseña: 50 carácteres

Código
  1. @ECHO OFF&SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  2. SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
  3. :_START
  4. (SET RESULT_=)
  5. FOR /L %%I IN (1,1,50) DO (
  6. CALL :_ONERANDOMCHAR 51 RNDCHR_
  7. SET RESULT_=!RESULT_!!RNDCHR_!
  8. )
  9. ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
  10. IF %ERRORLEVEL% EQU 0 SET FOUNDNUMBER=TRUE
  11. ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
  12. IF %ERRORLEVEL% EQU 0 SET FOUNDSPECIAL=TRUE
  13. IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
  14. IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
  15. CLS
  16. ECHO.%RESULT_%
  17. GOTO:_START
  18. :_ONERANDOMCHAR
  19. SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  20. SET /A DIV_=32767 / %1
  21. SET /A RAND_=%RANDOM% / %DIV_%
  22. SET RETURN_=!CHARS:~% style="color: #448888;">RAND_%,1!
  23. ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF

Seguridad en contraseña: Alta
Longitud de contraseña: 50 carácteres

Código
  1. @ECHO OFF&SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  2. SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
  3. :_START
  4. (SET RESULT_=)
  5. FOR /L %%I IN (1,1,50) DO (
  6. CALL :_ONERANDOMCHAR 77 RNDCHR_
  7. SET RESULT_=!RESULT_!!RNDCHR_!
  8. )
  9. ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
  10. IF %ERRORLEVEL% EQU 0 SET FOUNDNUMBER=TRUE
  11. ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
  12. IF %ERRORLEVEL% EQU 0 SET FOUNDSPECIAL=TRUE
  13. IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
  14. IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
  15. CLS
  16. ECHO.%RESULT_%
  17. GOTO:_START
  18. :_ONERANDOMCHAR
  19. SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  20. SET /A DIV_=32767 / %1
  21. SET /A RAND_=%RANDOM% / %DIV_%
  22. SET RETURN_=!CHARS:~% style="color: #448888;">RAND_%,1!
  23. ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF