Categorias

Aprenda a gerar senhas aleatórias seguras em PHP

Função em PHP para gerar senhas aleatórias complexas.

Você pode escolher o tamanho da senha e sua força. A senha pode ser composta por números, letras ou símbolos. Para isso é só mudar o valor do parâmetro da função. A função gera uma senha de acordo com dois parâmetros: tamanho e força.

para chamar a função use:
echo ‘Sua senha é ‘.gerarSenha(10,8).”;

código baseado no original https://www.phpsnippets.info/generate-a-password-in-php

function gerarSenha($tamanho=9, $forca=0) {
	$vogais = 'aeuy';
	$consoantes = 'bdghjmnpqrstvz';
	if ($forca >= 1) {
		$consoantes .= 'BDGHJLMNPQRSTVWXZ';
	}
	if ($forca >= 2) {
		$vogais .= "AEUY";
	}
	if ($forca >= 4) {
		$consoantes .= '23456789';
	}
	if ($forca >= 8 ) {
		$vogais .= '@#$%';
	}

	$senha = '';
	$alt = time() % 2;
	for ($i = 0; $i < $tamanho; $i++) {
		if ($alt == 1) {
			$senha .= $consoantes[(rand() % strlen($consoantes))];
			$alt = 0;
		} else {
			$senha .= $vogais[(rand() % strlen($vogais))];
			$alt = 1;
		}
	}
	return $senha;
}