<?php
function generarContrasena($longitud) {
$caracteres = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$contrasena = '';
for ($i = 0; $i < $longitud; $i++) {
$contrasena .= $caracteres[rand(0, strlen($caracteres) - 1)]; }
return $contrasena;
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Si se envió el formulario
if (isset($_POST['generar'])) { $contrasena_generada = generarContrasena($longitud);
$mensaje = "Tu nueva contraseña es: $contrasena_generada";
} elseif (isset($_POST['modificar'])) { // Aquí puedes agregar la lógica para modificar la contraseña
$nueva_contrasena = $_POST['nueva_contrasena'];
$mensaje = "Tu contraseña se ha modificado exitosamente.";
}
// Envía el correo electrónico
$destinatario = "ejemplo@example.com";
$asunto = "Contraseña Actualizada";
$cuerpo = $mensaje;
$cabeceras = "From: webmaster@example.com";
mail($destinatario, $asunto, $cuerpo, $cabeceras); }
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Generador de Contraseñas</title>
</head>
<body>
<h1>Generador de Contraseñas</h1>
<?php if (isset($mensaje)) : ?> <p><?php echo $mensaje; ?></p>
<?php endif; ?>
<form method="post">
<button type="submit" name="generar">Generar Contraseña</button>
<button type="submit" name="modificar">Modificar Contraseña</button>
<?php if (isset($nueva_contrasena)) : ?> <input type="text" name="nueva_contrasena" value="<?php echo $nueva_contrasena; ?>">
<?php endif; ?>
</form>
</body>
</html>
PD9waHAKCmZ1bmN0aW9uIGdlbmVyYXJDb250cmFzZW5hKCRsb25naXR1ZCkgewogICAgJGNhcmFjdGVyZXMgPSAnMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonOwogICAgJGNvbnRyYXNlbmEgPSAnJzsKICAgIGZvciAoJGkgPSAwOyAkaSA8ICRsb25naXR1ZDsgJGkrKykgewogICAgICAgICRjb250cmFzZW5hIC49ICRjYXJhY3RlcmVzW3JhbmQoMCwgc3RybGVuKCRjYXJhY3RlcmVzKSAtIDEpXTsKICAgIH0KICAgIHJldHVybiAkY29udHJhc2VuYTsKfQoKaWYgKCRfU0VSVkVSWyJSRVFVRVNUX01FVEhPRCJdID09ICJQT1NUIikgewogICAgLy8gU2kgc2UgZW52acOzIGVsIGZvcm11bGFyaW8KICAgIGlmIChpc3NldCgkX1BPU1RbJ2dlbmVyYXInXSkpIHsKICAgICAgICAkbG9uZ2l0dWQgPSByYW5kKDUsIDEyKTsKICAgICAgICAkY29udHJhc2VuYV9nZW5lcmFkYSA9IGdlbmVyYXJDb250cmFzZW5hKCRsb25naXR1ZCk7CiAgICAgICAgJG1lbnNhamUgPSAiVHUgbnVldmEgY29udHJhc2XDsWEgZXM6ICRjb250cmFzZW5hX2dlbmVyYWRhIjsKICAgIH0gZWxzZWlmIChpc3NldCgkX1BPU1RbJ21vZGlmaWNhciddKSkgewogICAgICAgIC8vIEFxdcOtIHB1ZWRlcyBhZ3JlZ2FyIGxhIGzDs2dpY2EgcGFyYSBtb2RpZmljYXIgbGEgY29udHJhc2XDsWEKICAgICAgICAkbnVldmFfY29udHJhc2VuYSA9ICRfUE9TVFsnbnVldmFfY29udHJhc2VuYSddOwogICAgICAgICRtZW5zYWplID0gIlR1IGNvbnRyYXNlw7FhIHNlIGhhIG1vZGlmaWNhZG8gZXhpdG9zYW1lbnRlLiI7CiAgICB9CgogICAgLy8gRW52w61hIGVsIGNvcnJlbyBlbGVjdHLDs25pY28KICAgICRkZXN0aW5hdGFyaW8gPSAiZWplbXBsb0BleGFtcGxlLmNvbSI7CiAgICAkYXN1bnRvID0gIkNvbnRyYXNlw7FhIEFjdHVhbGl6YWRhIjsKICAgICRjdWVycG8gPSAkbWVuc2FqZTsKICAgICRjYWJlY2VyYXMgPSAiRnJvbTogd2VibWFzdGVyQGV4YW1wbGUuY29tIjsKCiAgICBtYWlsKCRkZXN0aW5hdGFyaW8sICRhc3VudG8sICRjdWVycG8sICRjYWJlY2VyYXMpOwp9Cgo/PgoKPCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVzIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8dGl0bGU+R2VuZXJhZG9yIGRlIENvbnRyYXNlw7FhczwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8aDE+R2VuZXJhZG9yIGRlIENvbnRyYXNlw7FhczwvaDE+CgogICAgPD9waHAgaWYgKGlzc2V0KCRtZW5zYWplKSkgOiA/PgogICAgICAgIDxwPjw/cGhwIGVjaG8gJG1lbnNhamU7ID8+PC9wPgogICAgPD9waHAgZW5kaWY7ID8+CgogICAgPGZvcm0gbWV0aG9kPSJwb3N0Ij4KICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgbmFtZT0iZ2VuZXJhciI+R2VuZXJhciBDb250cmFzZcOxYTwvYnV0dG9uPgogICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBuYW1lPSJtb2RpZmljYXIiPk1vZGlmaWNhciBDb250cmFzZcOxYTwvYnV0dG9uPgogICAgICAgIDw/cGhwIGlmIChpc3NldCgkbnVldmFfY29udHJhc2VuYSkpIDogPz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Im51ZXZhX2NvbnRyYXNlbmEiIHZhbHVlPSI8P3BocCBlY2hvICRudWV2YV9jb250cmFzZW5hOyA/PiI+CiAgICAgICAgPD9waHAgZW5kaWY7ID8+CiAgICA8L2Zvcm0+CjwvYm9keT4KPC9odG1sPgoK