Batch Script – Programa que verifica o nível de segurança de uma senha!
O código batch abaixo tem
como função mostrar o nível de segurança de uma senha para que o usuário possa
criar senhas seguras! Quando e digitado uma senha, o programa verifica e mostra
se a mesma e fraca boa ou ótima!
Em minha opinião, apesar
do programa “não ter muita utilidade”, o mesmo e um ótimo exercício de
aprendizagem para quem gosta de programação, pois mostra como funciona um
sistema de verificação de senhas em batch script, e com um pouco de
criatividade e usando a mesma lógica, pode ate mesmo se aplicar a outras
linguagens de programação!
Obs: Para
executar o script e só copiar o mesmo para o bloco de notas e salvo-ló com a
extensão .bat ex: nomearquivo.bat
@echo off
setlocal
enabledelayedexpansion
title N¡vel
de seguran‡a batch
mode con
cols=45 lines=10
color a
:ini
set
"Mostra="
set
"Mostra2="
set
"Mostra3="
set
"Senha="
set
"Contar="
cls
echo.
echo. Digite uma senha para que seja
echo.
echo. verificado o
nivel de seguran‡a :
echo.
set/p "Senha= Senha : "
cls
if not
defined Senha goto ini
:Segue
set/a "Contar+=1"
set "Senha2=!Senha:~0,%Contar%!"
if "%Senha2%" neq "%Senha%" goto:Segue
if %contar% lss 6 (echo.A senha deve ter no m¡nimo 6
caracteres
pause>nul
goto:ini)
set
"min="
for %%j in
(a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (set "le1=%%j"
call:conp
min)
set
"maiusc="
for %%i in
(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (set
"le2=%%i"
call:conp1
maiusc)
seT
"num="
for %%h in
(1,2,3,4,5,6,7,8,9,0) do (set "le3=%%h"
call:conp2
num)
if
"%verif%" equ "1" set Mostra=Fraca
if
"%verif%" equ "11" set Mostra=Boa
if
"%verif%" equ "111" set Mostra=Otima
echo.
echo.
set "nivel=%min%%Maiusc%%num%"
echo. Nivel
de seguran‡a
echo.
1 2 3
echo. _______________________________________
echo. %nivel%
echo.
echo.
%Mostra%
pause>nul
goto:ini
:conp
for /l %%k
in (0,1,!Contar!) do (set "sec=!Senha2:~%%k,1!"
if
"!sec!" equ "!le1!" (set
"%1=°°°°°°°°°°°°°"&set Mostra=1)
)
goto:eof
:conp1
for /l %%k
in (0,1,!Contar!) do (set "sec=!Senha2:~%%k,1!"
if
"!sec!" equ "!le2!" (set
"%1=²²²²²²²²²²²²²"&set Mostra2=1)
)
goto:eof
:conp2
for /l %%k
in (0,1,!Contar!) do (set "sec=!Senha2:~%%k,1!"
if
"!sec!" equ "!le3!" (set
"%1=ÛÛÛÛÛÛÛÛÛÛÛÛÛ"&set Mostra3=1)
)
set verif=%Mostra%%Mostra2%%Mostra3%
goto:eof.
##################################################################################
Seja o primeiro a comentar
Postar um comentário