PHP Classes

File: app/modules/users/generate_password.php

Recommend this page to a friend!
  Classes of Laudir Bispo   PHP Real Estate Website   app/modules/users/generate_password.php   Download  
File: app/modules/users/generate_password.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: PHP Real Estate Website
Manage the properties of a real estate business
Author: By
Last change:
Date: 3 years ago
Size: 1,195 bytes
 

Contents

Class file image Download
?<?php
/**
* Função para gerar senhas aleatórias
*
* @param integer $tamanho Tamanho da senha a ser gerada
* @param boolean $maiusculas Se terá letras maiúsculas
* @param boolean $numeros Se terá números
* @param boolean $simbolos Se terá símbolos
*
* @return string A senha gerada
*/
function generatePassword($tamanho = 8, $maiusculas = true, $numeros = true, $simbolos = true)
{
   
$lmin = 'abcdefghijklmnopqrstuvwxyz';
   
$lmai = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
   
$num = '1234567890';
   
$simb = '!@#$%*-';
 
 
// a var $retorno é uma gambiara para ter certeza que terá 1 caracter de cada categoria. kkkkkkkkkkkkk
   
$retorno = substr(str_shuffle($lmin),0,1).substr(str_shuffle($lmai),0,1).substr(str_shuffle($num),0,1).substr(str_shuffle($simb),0,1);
   
$caracteres = '';
 
   
$caracteres .= $lmin;
    if(
$maiusculas) $caracteres .= $lmai;
    if(
$numeros) $caracteres .= $num;
    if(
$simbolos) $caracteres .= $simb;
   
$len = strlen($caracteres);
 
    for (
$n = 5; $n <= $tamanho; $n++)
    {
       
$rand = mt_rand(1, $len);
       
$retorno .= $caracteres[$rand-1];
    }
 
    return
str_shuffle($retorno);
 
}

echo
generatePassword(8, true, true, true);