Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafael_tst

Como testar uma senha? pra saber a força dela

Recommended Posts

Ae Galera;Quando você vai criar uma conta no Hotmail e você coloca uma senha ele classifica ela como segura ou não, como posso fazer isso?Eu vi que existe uma Lib a CrackLib, porém meu server não tem ela instalada.Alguem conheçe outro meio?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho um cod para isso mas é javascript aqui fica

 

function checa_seguranca(pass, campo){ 		var senha = document.getElementById(pass).value; 		var entrada = 0; 		var resultadoado; 				if(senha.length < 7){ 				entrada = entrada - 1; 		} 				if(!senha.match(/[a-z_]/i) || !senha.match(/[0-9]/)){ 				entrada = entrada - 1; 		} 				if(!senha.match(/\W/)){ 				entrada = entrada - 1; 		} 				if(entrada == 0){ 				resultado = 'A Segurança de sua senha é: <font color=\'#99C55D\'>EXCELENTE</font>'; 		} else if(entrada == -1){ 				resultado = 'A Segurança de sua senha é: <font color=\'#7F7FFF\'>BOM</font>'; 		} else if(entrada == -2){ 				resultado = 'A Segurança de sua senha é: <font color=\'#FF5F55\'>BAIXA</font>'; 		} else if(entrada == -3){ 				resultado = 'A Segurança de sua senha é: <font color=\'#A04040\'>MUITO BAIXA</font>'; 		} 				document.getElementById(campo).innerHTML = resultado; 				return; }

 

usar assim:

<script type="text/javascript" src="senha.js"></script> <input id="OK" type="password" name="OK" size="20" onkeyup="checa_seguranca('OK', 'pass');" /><br /><br /> <font size='1' face='Tahoma'><div id="pass"></div> </font

Compartilhar este post


Link para o post
Compartilhar em outros sites

function checa_seguranca(pass, campo){ 		var senha = document.getElementById(pass).value; 		var entrada = 0; 		var resultadoado; 		var i;		var palavras[];		var casou=false;<?php// conexao com o banco de dados(...)// pegar senhas fracas$consulta="SELECT palavra FROM dicionario";$resultado=mysql_query($consulta);if(mysql_num_rows($resultado)>=1){	$i=0;	while($objeto=mysql_fetch_object($resultado))	{		echo "palavras[$i]=/(".$objeto->palavra."/i;";		$i++;	}}?>		if(senha.length < 7){ 				entrada = entrada - 1; 		} else {			entrada += 1;		}				if(!senha.match(/[a-z_]/i) || !senha.match(/[0-9]/) || !senha.match(/[!#$&@]/)){ 				entrada = entrada - 1; 		} else {			entrada += 1;		}				if(!senha.match(/\W/)){ 				entrada = entrada - 1; 		} else {			entrada += 1;		}		casou=false;		for(i in palavras)		{			if(senha.match(palavras[i]))			{				casou=true;			}		}		(casou==false)?entrada += 1:entrada -= 1;				if(entrada >= 0){ 				resultado = 'A Segurança de sua senha é: <font color=\'#99C55D\'>EXCELENTE</font>'; 		} else if(entrada == -1){ 				resultado = 'A Segurança de sua senha é: <font color=\'#7F7FFF\'>BOM</font>'; 		} else if(entrada == -2){ 				resultado = 'A Segurança de sua senha é: <font color=\'#FF5F55\'>BAIXA</font>'; 		} else { 				resultado = 'A Segurança de sua senha é: <font color=\'#A04040\'>MUITO BAIXA</font>'; 		} 				document.getElementById(campo).innerHTML = resultado; 				return; }

Uma pequena incrementada... =]

 

Agora você pode pode ter senhas com valores positivos, ou seja: _muito_ fortes...

Assim como pode ter senhas com valores abaixo de -3, ou seja: _muito_ fracas...

 

Ah... Só complementando:

 

create table `dicionario` (`id` INT NOT NULL AUTO_INCREMENT,`palavra` VARCHAR(255) NOT NULL,PRIMARY KEY(`id`));INSERT INTO dicionario(`palavra`) VALUES('P@$$W0RD');INSERT INTO dicionario(`palavra`) VALUES('S3NHA');INSERT INTO dicionario(`palavra`) VALUES('S3NH@');INSERT INTO dicionario(`palavra`) VALUES('SENH@');INSERT INTO dicionario(`palavra`) VALUES('JOSÉ');INSERT INTO dicionario(`palavra`) VALUES('JOSE');INSERT INTO dicionario(`palavra`) VALUES('JOAO');INSERT INTO dicionario(`palavra`) VALUES('JOÃO');

Dicionário com as senhas fracas... =]

Isso é para ser, literalmente, um dicionário... Então vá colocando palavras lá dentro...

 

Correções nas minhas alterações são bem-vindas... =]

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.