ARTLUNG LAB Share

January 3, 2009

20 Random Alphanumeric Passwords

The passwords:

No record is made of these passwords.


7bJZvQeXPjbWTrz6mDYS
hEatZ74WwGHPTJHs7Dsr
KcjSPfyJ9GaCfKNup4B6
SSV3ex3rgpQee6HQNr6o
F24TD7nAw4gQPnwSbqwt
YhqjkSoHHonwc68wDCRF
NrHVeZtyXEaLYSNMUtcH
2oGjWbTWoM7ukt743N9L
LytsMYfQbUb2MDe2hrx7
CWaNShkEnNF2bkuL2dA6
sZfbEtqfdDz7Lk2huoDN
vHNmFXJaUjgQvQ4D8JvX
7TWYaHrAYH74urNFZC9b
vgRabstVsPYWScpmfENU
fkccbLgxQ4S4mp7SQGJq
tC6D8g9XAMzskZ3RrrZw
Dko6xwPU6Ko3Qug2CF8N
R2XVgdANRnxe9m3kBmHh

Deprecated: Implicit conversion from float 1890.0000000000002 to int loses precision in /usr/home/crawberts/public_html/lab.artlung.com/web/password-maker/PasswordGenerator.php on line 43
6TCf9ZrLfM4gtgqyRNdF
Deprecated: Implicit conversion from float 2799.9999999999995 to int loses precision in /usr/home/crawberts/public_html/lab.artlung.com/web/password-maker/PasswordGenerator.php on line 43
nr8kmGQrfVyxdJJ6YYww

The code for the class


<?php

/**
 * Class PasswordGenerator
 *
 * @category PHP
 * @package  Classes
 * @author   Joe Crawford <joe@artlung.com>
 * @license  GPL 2.0+ - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
 * @version  Release: 1.0
 * @link     https://artlung.com/
 * @since    2024-12-03
 */
class PasswordGenerator
{

    public static 
$letters "2346789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjkmnopqrstuvwxyz";
    public static 
$length "20";
    public 
$letters_array;

    
/**
     * PasswordGenerator constructor.
     */
    
function __construct()
    {
        
$this->letters_array = array();

        for (
$a 0$a strlen(self::$letters); $a++) {
            
$this->letters_array[] = self::$letters[$a];
        }
    }


    
/**
     * Make password
     *
     * @return string
     */
    
function make(): string
    
{
        
$password '';
        for (
$i 0$i self::$length$i++) {
            
srand((float)microtime() * 10000000);
            
$password .= $this->letters_array[array_rand($this->letters_array)];
        }
        return 
$password;

    }

    
/**
     * Print one password
     *
     * @return void
     */
    
function printOne()
    {
        print 
$this->make();
    }

    
/**
     * Print many passwords
     *
     * @param $num
     *
     * @return void
     */
    
function printMany($num)
    {
        for (
$i 0$i $num$i++) {
            
$this->printOne();
            print 
"\n";
        }
    }


}

How to invoke the class

$PG = new PasswordGenerator();
$PG->printMany(20);