Compartir password generator en tu social media
Abrir menú principal
Password generator

Generador de contraseñas php

Crear un generador de contraseñas aleatorias en PHP

Te explicamos cómo hacer un sencillo formulario para generar una contraseña basándose en patrones combinatorios de php. Con este generador podrás seleccionar desde los caracteres, minúsculas, mayúsculas, números y caracteres especiales, además de la longitud que desees para la contraseña y por último al pinchar sobre el botón "generar contraseña" te creara una clave única completamente aleatoria.

El siguiente tutorial esta realizado en: Php + Html + jquery

1 Script PHP que genera una contraseña aleatoria a medida

Primero abre un archivo.txt, luego copia y pega las siguientes líneas de código en una página llamada: generador.php

<?php
if(isset($_POST["caracteres"]) && isset($_POST["numcaracteres"])){ $numcaracteres = $_POST["numcaracteres"]; $caracteres = $_POST["caracteres"]; if($numcaracteres >= 6 && $numcaracteres <= 16){ $mayusculas = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $minusculas = "abcdefghijklmnopqrstuvwxyz"; $numeros = "0123456789"; $c_especiales = "?!*-+_%#/=()"; $aux = floor($numcaracteres / count($caracteres)); $residuo = $numcaracteres % count($caracteres); $bandera = false; if($residuo != 0) $bandera = true; for($i=0; $i<count($caracteres); $i++){ if( $caracteres[$i] == "minusculas"){ if($bandera){ $bandera = false; $max = $aux + $residuo; } else $max = $aux; for($x = 0; $x < $max; $x++) $arraypassword[] = substr($minusculas, rand(0, strlen($minusculas)-1),1); } if( $caracteres[$i] == "mayusculas"){ if($bandera){ $bandera = false; $max = $aux+$residuo; } else $max = $aux; for($x = 0; $x < $max; $x++) $arraypassword[] = substr($mayusculas, rand(0, strlen($mayusculas)-1),1); } if( $caracteres[$i] == "numeros"){ if($bandera){ $bandera = false; $max = $aux+$residuo; } else $max = $aux; for($x = 0; $x < $max; $x++) $arraypassword[] = substr($numeros, rand(0, strlen($numeros)-1),1); } if( $caracteres[$i] == "c_especiales"){ $max = $aux; for($x = 0; $x < $max; $x++) $arraypassword[] = substr($c_especiales, rand(0, strlen($c_especiales)-1),1); } } shuffle($arraypassword); foreach ($arraypassword as $caracter) echo $caracter; }
}
?>

Guarda el .txt con la extensión .php , este código se encarga de crear la clave dentro del campo de texto llamado "Contraseña" en el siguiente formulario.

2Crea la página HTML que contiene el formulario generador

Abre otro archivo.txt copia y pega el siguiente código en su interior, llama a esta página: generadorclaves.html

<!DOCTYPE html>
<html><head><title>Generador de contraseñas aleatorio</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" property="stylesheet" href="css/generador.css"/>
<link rel="shortcut icon" href="https://passwordgenerator.es/images/iconos/favicon.png" type="image/x-icon"/>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0"/>
<link href="https://fonts.googleapis.com/css?family=Poppins:400,500,600,700" rel="stylesheet">
</head>
<body> <div class="generador animated fadeIn"> <h1>Generador de contraseñas</h1> <form id="frmPasswords"> <div class="col1"> <input type="checkbox" name="caracteres[]" id="c1" value="mayusculas" checked /> <label for="c1"><span></span>A-Z</label> </div> <div class="col2"> <input type="checkbox" name="caracteres[]" id="c2" value="minusculas" checked /> <label for="c2"><span></span>a-z</label> </div> <div class="col3"> <input type="checkbox" name="caracteres[]" id="c3" value="numeros" checked /> <label for="c3"><span></span>0-9</label> </div> <div class="col4"> <input type="checkbox" name="caracteres[]" id="c4" value="c_especiales" /> <label for="c4"><span></span>?-!*</label> </div> <label>Número de caracteres</label> <input type="text" name="numcaracteres" id="numcaracteres" size="2" value="10"/> <input type="button" name="btnGenerar" id="btnGenerar" value="Generar contraseña"/> <input type="text" name="txtPassword" id="txtPassword" value="BIdU2T38xk"/> </form> </div> <div class="footer"><p><a href="https://passwordgenerator.es/" target="_blank">Password generator</a><sup>V1</sup></p></div>
</body>
<script type="text/javascript" src="https://passwordgenerator.es/demo/js/jquery.min.js"></script>
<script type="text/javascript">
function validaForm(){
var errores = "";
var respuesta = true;
if( !$("input[name|='caracteres[]']").is(':checked') ){respuesta = false;errores += "Checbox: Debes seleccionar al menos una opcion \\n" ;}
var numcaracteres = $("#numcaracteres").attr('value');
if( numcaracteres == '' || ( numcaracteres < 6 || numcaracteres > 16 ) ){respuesta = false;errores += "Los caracteres para la contraseña deben estar entre 6 y 16";}
return '{"valor": ' + respuesta + ', "mensaje": "' + errores + '"}';}
$(document).ready(function(){ $("#btnGenerar").click(function(){	respuesta = validaForm();	respuesta = jQuery.parseJSON(respuesta);	if( respuesta.valor == true ){	$.ajax({	url: "generador.php", type: "POST",	data: $("#frmPasswords").serialize(),	dataType: "html", success: function(password) { $("#txtPassword").attr('value',password); }	}); } else	alert(respuesta.mensaje); });
});
</script>
</html>

3¡Eso es todo!, con estos 2 archivos ya lo tendrías

Si deseas ver una demo de este tutorial o descargar este generador de contraseñas php podrás verlo a continuación:

Aquí puedes ver una demo del generador.

Ver demoDescargar

Opinión usuarios

¿Que te parece nuestro generador de contraseñas?

4 Estrellas
4
4 Estrellas de 70 votos
subir