Cover Image

Cómo crear un mini juego en Bash: “Adivina el número”

Abril 23, 2025 Tiempo de lectura: 7 minutos

¿Creías que Bash solo servía para scripts aburridos? 😄
¡También puedes hacer mini juegos de texto en la terminal!
Hoy vamos a crear un juego simple de adivinar un número en Bash. Es perfecto para practicar lógica, condicionales y lectura de entrada del usuario.


🧠 ¿Qué hará este juego?

  • El programa generará un número aleatorio entre 1 y 10.

  • El jugador intentará adivinarlo.

  • El juego dará pistas y dirá si ganaste o no.


✍️ El código del juego (guárdalo como juego.sh)

#!/bin/bash echo "🎲 Bienvenido al juego: ¡Adivina el número!" echo "Estoy pensando en un número del 1 al 10..." numero_secreto=$((RANDOM % 10 + 1)) intentos=0 while true; do read -p "👉 Tu intento: " intento ((intentos++)) if [[ "$intento" -eq "$numero_secreto" ]]; then echo "🎉 ¡Correcto! Adivinaste en $intentos intento(s)." break elif [[ "$intento" -lt "$numero_secreto" ]]; then echo "📉 Demasiado bajo..." else echo "📈 Demasiado alto..." fi done

⚙️ Cómo ejecutarlo

  1. Guarda el archivo como juego.sh

  2. Dale permisos de ejecución:

chmod +x juego.sh
  1. Ejecútalo con:

./juego.sh

💡 ¿Qué puedes aprender con este juego?

  • Usar RANDOM para generar números aleatorios.

  • Leer input con read.

  • Usar bucles while y condicionales if.

  • Crear una interacción básica con el usuario desde la terminal.


Este tipo de juegos son una excelente forma de divertirse mientras aprendes scripting.


Cover Image

Cómo proteger una página web con contraseña usando PHP (proyecto simple)

Abril 7, 2025 Tiempo de lectura: 9 minutos

¿Quieres que solo personas autorizadas puedan acceder a tu página?
Con PHP puedes crear un sistema sencillo de protección por contraseña que bloquee el contenido a quien no tenga la clave correcta. No necesitas bases de datos ni nada avanzado: solo HTML, PHP y lógica básica.

Hoy te muestro cómo crear un mini proyecto de sitio protegido por contraseña en menos de 10 minutos.


🧱 ¿Qué vas a construir?

  • Una página de login donde se ingresa la contraseña.

  • Una verificación sencilla con PHP.

  • Una página protegida que solo se muestra si ingresaste bien la clave.


🗂️ Estructura del proyecto

Crea una carpeta con estos archivos:

/protegido/ ├── login.php ├── clave.php ├── logout.php

✍️ Paso 1: login.php (el formulario)

<?php session_start(); if (isset($_SESSION['autenticado']) && $_SESSION['autenticado'] === true) { header("Location: clave.php"); exit; } ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Acceso protegido</title> </head> <body> <h2>🔐 Ingreso protegido</h2> <form method="post" action="login.php"> <input type="password" name="clave" placeholder="Ingresa la contraseña" required> <button type="submit">Entrar</button> </form> <?php if ($_SERVER["REQUEST_METHOD"] === "POST") { $claveIngresada = $_POST["clave"]; $claveCorrecta = "mipassword123"; if ($claveIngresada === $claveCorrecta) { $_SESSION['autenticado'] = true; header("Location: clave.php"); exit; } else { echo "<p style='color:red;'>❌ Contraseña incorrecta</p>"; } } ?> </body> </html>

🛡️ Paso 2: clave.php (la página protegida)

<?php session_start(); if (!isset($_SESSION['autenticado']) || $_SESSION['autenticado'] !== true) { header("Location: login.php"); exit; } ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Zona segura</title> </head> <body> <h1>🎉 Bienvenido a la página protegida</h1> <p>Solo quienes tienen la clave pueden ver esto.</p> <a href="logout.php">Cerrar sesión</a> </body> </html>

🔓 Paso 3: logout.php (para cerrar sesión)

<?php session_start(); session_destroy(); header("Location: login.php"); exit; ?>

Con esto, ya tienes un proyecto funcional de página protegida por contraseña. Puedes usarlo para secciones privadas, acceso exclusivo, proyectos en desarrollo o simplemente por diversión.


Cover Image

Cómo crear un generador de contraseñas seguras usando hash en PHP

Abril 2, 2025 Tiempo de lectura: 13 minutos

¿Quieres ofrecer a tus usuarios contraseñas únicas y seguras? 💡
En este artículo te muestro cómo crear un pequeño generador de contraseñas en PHP utilizando funciones de hash como md5, sha1, y otras herramientas nativas que puedes combinar para producir contraseñas fuertes y difíciles de adivinar.


🧠 ¿Qué es una función hash?

Una función hash convierte cualquier dato (como texto o número) en una cadena alfanumérica fija. Por ejemplo:

echo md5("hola"); // salida: 4d186321c1a7f0f354b297e8914ab240

Los hashes son útiles para ofuscar contraseñas o generar valores únicos como identificadores.


⚙️ Ejemplo 1: Generar una contraseña simple con md5

<?php $base = uniqid(mt_rand(), true); // Genera una base única y aleatoria $hash = md5($base); // Limita la longitud si quieres (ej: 12 caracteres) $password = substr($hash, 0, 12); echo "Tu contraseña segura es: $password"; ?>

🧪 Ejemplo 2: Usar sha1 o hash('sha256') para más seguridad

<?php $base = uniqid(mt_rand(), true); $hash = hash('sha256', $base); // Más largo y fuerte que md5 $password = substr($hash, 0, 16); echo "Contraseña segura: $password"; ?>

🎛️ Ejemplo 3: Personalizar con letras, números y símbolos

Para mayor control, puedes generar contraseñas con una lista de caracteres personalizados:

<?php function generarPassword($longitud = 12) { $caracteres = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%&*?'; $password = ''; $max = strlen($caracteres) - 1; for ($i = 0; $i < $longitud; $i++) { $password .= $caracteres[random_int(0, $max)]; } return $password; } echo "Contraseña: " . generarPassword(); ?>

Este método no usa hash directamente, pero genera contraseñas muy fuertes y personalizables.


📌 ¿Qué opción es mejor?

  • Usa hash() si quieres un valor basado en una semilla (ideal para tokens, por ejemplo).

  • Usa random_int() y una lista de caracteres si buscas una contraseña más “humana” y personalizable.


Cover Image

Cómo enviar correos electrónicos con PHP (fácil y paso a paso)

Marzo 27, 2025 Tiempo de lectura: 13 minutos

¿Quieres que tu sitio web pueda enviar correos automáticos? ✉️
Con PHP es totalmente posible y relativamente fácil. Ya sea para enviar un mensaje desde un formulario de contacto o una notificación a un usuario, este lenguaje te permite hacerlo sin usar servicios externos (aunque también se puede).

Hoy te muestro cómo enviar correos en PHP con funciones nativas y también cómo hacerlo de forma más profesional con PHPMailer.


🛠️ Opción 1: Enviar correo con la función mail()

Esta función viene incluida en PHP y es muy simple de usar. Aquí va un ejemplo básico:

<?php $para = "ejemplo@correo.com"; $asunto = "Saludos desde mi sitio web"; $mensaje = "¡Hola! Este correo fue enviado desde un script PHP."; $encabezados = "From: tu_nombre@tudominio.com"; if (mail($para, $asunto, $mensaje, $encabezados)) { echo "✅ Correo enviado correctamente."; } else { echo "❌ Error al enviar el correo."; } ?>

📌 Importante: esta función solo funciona si tu servidor tiene configurado un servicio de correo (como sendmail o postfix). En muchos hostings compartidos sí funciona, pero en localhost no.


💼 Opción 2: Usar PHPMailer (más recomendado)

PHPMailer es una biblioteca profesional para enviar correos en PHP. Te permite usar SMTP (como Gmail) y manejar HTML, archivos adjuntos y más.

🔽 Paso 1: Instalar PHPMailer con Composer

composer require phpmailer/phpmailer

📤 Paso 2: Script básico con Gmail

<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; $mail = new PHPMailer(true); try { // Configuración del servidor $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = 'tucorreo@gmail.com'; $mail->Password = 'tu_contraseña_o_token_app'; $mail->SMTPSecure = 'tls'; $mail->Port = 587; // Remitente y destinatario $mail->setFrom('tucorreo@gmail.com', 'Tu Nombre'); $mail->addAddress('destino@correo.com'); // Contenido $mail->isHTML(true); $mail->Subject = 'Correo de prueba con PHPMailer'; $mail->Body = 'Este es un <b>correo de prueba</b> enviado con PHPMailer en PHP.'; $mail->send(); echo '✅ El mensaje fue enviado exitosamente.'; } catch (Exception $e) { echo "❌ El mensaje no pudo enviarse. Error: {$mail->ErrorInfo}"; } ?>

📌 Consejo de seguridad: Usa un token de aplicación en lugar de tu contraseña real al usar Gmail. También asegúrate de que tu cuenta permita apps externas.


Cover Image

Cómo crear una tabla en HTML para mostrar datos (paso a paso)

Marzo 24, 2025 Tiempo de lectura: 12 minutos

Si estás aprendiendo HTML y necesitas mostrar información como listas, productos, notas o cualquier otro tipo de datos organizados, las tablas son una herramienta esencial.

Hoy te muestro cómo crear una tabla en HTML, qué etiquetas se usan, y cómo darle un poco de estilo para que se vea bonita.


🔧 ¿Qué es una tabla en HTML?

Una tabla en HTML se compone de filas y columnas. Cada celda se define con etiquetas específicas que te permiten organizar y mostrar información estructurada.


✍️ Estructura básica de una tabla

Aquí tienes el código mínimo para una tabla:

<table border="1"> <tr> <th>Nombre</th> <th>Edad</th> <th>País</th> </tr> <tr> <td>Ana</td> <td>25</td> <td>Perú</td> </tr> <tr> <td>Luis</td> <td>30</td> <td>México</td> </tr> </table>

🧩 Explicación rápida

  • <table>: Contenedor de toda la tabla.

  • <tr>: "Table row", define una fila.

  • <th>: "Table header", es una celda de encabezado (en negrita).

  • <td>: "Table data", celda normal con datos.


🎨 Agregando estilo con CSS

Ahora vamos a mejorar su apariencia con un poco de estilo:

<style> table { border-collapse: collapse; width: 70%; margin: 20px auto; font-family: Arial, sans-serif; } th, td { border: 1px solid #999; padding: 10px; text-align: center; } th { background-color: #f2f2f2; } </style>

Y lo aplicas al mismo <table> de antes.


🧠 ¿Para qué puedes usar tablas?

  • Mostrar usuarios registrados

  • Listar productos o precios

  • Boletas de calificaciones

  • Informes y estadísticas


Cover Image

Cómo crear un mensaje de amor en HTML (detallito romántico con código)

Marzo 21, 2025 Tiempo de lectura: 8 minutos

¿Quieres sorprender a alguien especial con un mensaje hecho con tus propias manos… o mejor dicho, ¡con tu código!? 😍
Con solo HTML (y un poquito de CSS), puedes crear una página web romántica que diga mucho más que un simple mensaje de texto.

Hoy te enseño cómo crear una tarjeta digital de amor con HTML, paso a paso, sin complicaciones.


💻 Paso 1: Crea un archivo HTML

Abre tu editor de texto favorito (Visual Studio Code, Sublime, Notepad, etc.) y crea un archivo llamado mensaje.html.


✍️ Paso 2: Escribe el código básico

Copia y pega este código en tu archivo:

<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Para Ti ❤️</title> <style> body { background-color: #fff0f5; font-family: 'Georgia', serif; text-align: center; padding: 50px; color: #c71585; } .carta { background: white; border-radius: 10px; box-shadow: 0 0 10px #ccc; padding: 30px; display: inline-block; max-width: 500px; } h1 { font-size: 2.5em; margin-bottom: 10px; } p { font-size: 1.2em; line-height: 1.5em; } </style> </head> <body> <div class="carta"> <h1>Te amo ❤️</h1> <p> Cada línea de este código lleva un pedacito de lo que siento por ti.<br> No importa cuántas etiquetas tenga la vida, tú siempre serás mi contenido favorito.<br> Gracias por existir. 💖 </p> </div> </body> </html>

🖥️ Paso 3: Abre el mensaje en tu navegador

  1. Guarda el archivo.

  2. Haz doble clic sobre mensaje.html.

  3. Verás una linda tarjeta romántica en tu navegador 🥰


🎁 Extra: ¿Y si lo quiero enviar?

  • Puedes subirlo a tu servidor web si tienes uno.

  • O simplemente comprimir el archivo .html y enviarlo por correo o WhatsApp con una nota tipo: "Abre este archivo. Tengo algo para ti 🥺❤️".


Crear un gesto digital como este no toma más de 10 minutos, y puede dejar una sonrisa que dure todo el día.