• Ir al contenido
  • Ir a la navegación
  • Ir al buscador
 
Portada Boludo
ING English
Directorio WAP para móvil, Tablet, iPhone o Smartphone

Centro de Noticias de la Universidad de Oriente

Categorías

 

Inicio  |  Contacto  |  Posts  |  TIENDA PUBLISHOP  |  Sobre nosotros  |  Registro y Planes  |  Pagos  |  Donaciones

Ver Código QR de esta página

Campaña #AyudemosaYuli  |  Campaña #AyudemosaStephany.  |  ¿Interesado(a) en cursos y resolución de ejercicios de materias prácticas? Para más información, contáctenos por: Teléfono: +58 (412) - 8226575. WhatsApp y Telegram: +58 (426) - 6836955 o escriba al correo: [email protected]. Únete al grupo: SISTEMAS (UDOMO).

[»] **Musica para tu celular

WEB TRANSLATOR

LINK for English Language

Use this link for translate into English


+ Buscar en BolUDO

 

Generar clave aleatoria con PHP

Tweet
 

domingo julio 10, 2016

Nombre del archivo:pagina1.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
  require("rutinas.php");
  echo 'Clave generada : ';
  $clave=new ClaveAleatoria();
  $clave->sinMayusculas();
  $clave->fijarLongitud(7);
  echo '<strong>'.$clave->generar().'</strong>';
?>
</body>
</html>



Comentarios
El objetivo es implementar una clase que permita generar una clave aleatoria de 10 caracteres por defecto.
Genera una clave constituida con números y letras mayúsculas y minúsculas.
Define una serie de métodos para fijar otra longitud de clave y si no queremos números y letras
mayúsculas.


Nombre del archivo:rutinas.php

<?php
class ClaveAleatoria {
private $longitud=10;
private $numeros=true;
private $mayusculas=true;

public function sinNumeros()
{
$this->numeros=false;
}

public function sinMayusculas()
{
$this->mayusculas=false;
}

public function fijarLongitud($l)
{
$this->longitud=$l;
}

function generar()
{
$carac=array();
if ($this->numeros)
for($f=48;$f<=57;$f++)
$carac[]=$f;
if ($this->mayusculas)
for($f=65;$f<=90;$f++)
$carac[]=$f;
for($f=97;$f<=122;$f++)
$carac[]=$f;
$canti=sizeof($carac);
$clave='';
for($f=1;$f<=$this->longitud;$f++)
$clave.=chr($carac[rand(0,$canti-1)]);
return $clave;
}
}
?>


Comentarios
La clase ClaveAleatoria define tres atributos:
  private $longitud=10;
  private $numeros=true;
  private $mayusculas=true;
$longitud : almacena la cantidad de caracteres que tendrá la clave.
$numeros : indica si se incluyen números dentro de la clave.
$mayusculas : indica si se incluyen letras mayúsculas en la clave.

Los métodos:
  public function sinNumeros()
  {
    $this->numeros=false;
  }
  
  public function sinMayusculas()
  {
    $this->mayusculas=false;
  }
fijan con falso los atributos $numeros y $mayusculas.

Para fijar la longitud de la clave tenemos el método:
  public function fijarLongitud($l)
  {
    $this->longitud=$l;
  }

Por último tenemos el método generar:
  function generar()
  {
    //definimos un vector 
    $carac=array();
    //si el atributo $numeros tiene almacenado true procedemos a ejecutar el for
    if ($this->numeros)
      //Guardamos en el vector los valores enteros comprendidos entre 48 y 57. Estos valores 
      //coinciden con los valores ascii de los números del 0 al 9
      for($f=48;$f<=57;$f++)
        $carac[]=$f;
    if ($this->mayusculas)
      //Añadimos al vector los valores comprendidos entre 65 y 90. Estos valores coinciden con
      //los caracteres alfabéticos ('A' hasta 'Z')	
      for($f=65;$f<=90;$f++)
        $carac[]=$f;
    //caracteres alfabéticos ('a' hasta la 'z')	
    for($f=97;$f<=122;$f++)
      $carac[]=$f;
    $canti=sizeof($carac);
    $clave='';
    //Almacenamos caracter a caracter la clave generada. la función chr convierte a caracter el valor
    //numérico.
    for($f=1;$f<=$this->longitud;$f++)
      $clave.=chr($carac[rand(0,$canti-1)]);
    return $clave;
  }




— @bolUDOoficial

— Síguenos en Twitter@bolUDOoficial

Categorías: #PHP, #


[0] Atrás | Directorio
« Inicio
Apps Infoudo
Apps Infoudo ¡Descarga el icono directo en el menú de tu equipo!
[»] Las mejores Apps para tu celular
[»] Imágenes Gratis


Comenta o lee lo que otros opinan

COMPÁRTELO:

Indica que te gusta y comparte

Me Gusta :)Facebook Tuiteame :)Twitter .WhatsApp .Telegram . LinkedIn

También te puede interesar:

Mostrar el calendario de la fecha actual en php
Generar archivo RSS extrayendo los datos de una tabla MySQL con PHP
Validación de un mail con JavaScript y luego con PHP
Captcha en PHP
mysqli - panel para ABM de la tabla articulos
mysqli - modificación de un registro de la tabla articulos
mysqli - borrado de un registro de la tabla articulos
mysqli - consulta tabla articulos
mysqli - listado tabla articulos (mysqli_query, mysqli_fetch
mysqli - alta tabla articulos (mysqli_query)


« Validación de un mail con JavaScript y luego con PHP  |  Generar archivo RSS extrayendo los datos de una tabla MySQL con PHP »
 
Apps Infoudo
 
Buscador:
Powered by Google:


Web móvil
Imágenes
La Web

 

Síguenos por RSS


Puedes leerlos mediante el navegador Firefox, lectores de noticias en la computadora o el móvil o usando el servicio de Feedburner de Google para recibir las notificaciones por correo electrónico.
RSS - Suscribirse usando Feedburner de Google

email Recibir las nuevas publicaciones de Boludo por email

Atom


»Ir a URL
.....
Registra Gratis Tu Negocio
....
Sugerir un nuevo sitio WAP

...
¡Bloguea Ya!

..
Registro de Profesionales(Abogados, escritores, doctores, licenciados, ingenieros, etc.)
.
Soporte

Síguenos en las redes sociales

Síguenos en Facebook facebook.com/boludooficial Síguenos en Twitter @bolUDOoficial Síguenos en Instagram @boludooficial Síguenos en Telegram t.me/Boludooficial
Síguenos en WhatsApp BolUDOoficial Síguenos en YouTube youtube.com/@boludo.oficial
Síguenos en Facebook facebook.com/SergioAlemanFans Síguenos en Twitter @SergioAleman1 Síguenos en Instagram @sergioalemanfans
Síguenos en WhatsApp wa.me/qr/Y7Q232VLZPR5O1 Síguenos en Tiktok @sergioalemanoficial Síguenos en Tiktok @sergioalemanfans
Síguenos en Telegram t.me/SergioAlemanOficial Síguenos en YouTube youtube.com/@sergioaleman
Síguenos en Facebook facebook.com/INFOUDO.OFICIAL Síguenos en Twitter @infoudomon Síguenos en Instagram @infoudooficial Síguenos en Telegram t.me/Infoudooficial
Síguenos en Facebook facebook.com/tuinfou Síguenos en Twitter @infoudomonagas
Síguenos en WhatsApp INFO UDO Síguenos en YouTube youtube.com/@infoudooficial

Mis cuentas sociales

FB
Twitter
Pinterest
Instagram
Otras

Móvil: (0426 683 6955 - 0412 8226575) - E-mail: [email protected] - [email protected] - WhatsApp: +58 (0426) 683.69.55


Copyscape
Volver arriba

Protocolo  |  Mapa del Sitio  |  Report Abuse - DMCA  |  Términos y Condiciones  |  Ayuda  |  Privacidad de Datos  |  Política de Cookies  |  Reportar un bug  |  Licencia: CC BY-NC-ND 3.0

Copyright ©2023 Boludo. Todos los derechos reservados. Diseñado y Desarrollado por Sergio Alemán Mi perfil en GitHub


SUBIR