Readable Password Generator Code Example

Enrique Mayoral

Friendly Password: arms&16slide


Length: 12


Source code for Friendly Password generator

<head>
<link rel="stylesheet" type="text/css" href="./styles.css">
<link rel="stylesheet" type="text/css" href="./timezone_calculator/styles.css">
</head>

<header>
<h1>Readable Password Generator Code Example</h1>
<h1>Enrique Mayoral </h1>
</header>

<?php

require './header.html';

//Defines dictionary text file
function read_dictionary($filename="") {
    
$dictionary_file "./dictionaries/{$filename}";
    return 
file($dictionary_fileFILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES);
}
//Setting random from anything we pass into it
function pick_random($array) {
    
$i mt_rand(0count($array) -1);
    return 
$array[$i];
}
//Sets up random for symbols I select
function pick_random_symbol() {
    
$symbols '$@#%!&';
    
$i mt_rand(0strlen($symbols) -1);
    return 
$symbols[$i];    
}
//Pick a number between 1000 and 9999 for a random number
function pick_random_number($digits=1) {
    
$min pow(10, ($digits -1));    // e.g. 1000
    
$max pow(10$digits) -1;        // e.g. 9999
    
return strval(mt_rand($min,$max));
}
//gets string length of array and returns length of word
function filter_words_by_length($array$length) {
    
$select_words = array();
    foreach(
$array as $word) {
        if(
strlen($word) == $length) {
            
$select_words[] = $word;
        }
    }
    return 
$select_words;
}
//returns a random word based off of words passed in through text file.
function pick_random_word($words$length) {
    
$select_words filter_words_by_length($words$length);
    return 
pick_random($select_words);
}

$basic_words read_dictionary('friendly_words.txt');
 
 
//Sets the length of the settings for the password to generate.
 
$length 12;
 
$word_count 2;
 
$digit_count 2;
 
$symbol_count 1;
 
$avg_wlength = ($length $digit_count $symbol_count) / $word_count;
 
 
//initializes password variable to clear out any memory
$password "";

//Inserts first random word into output to specify word
$next_wlength mt_rand($avg_wlength -1$avg_wlength +1);
$password .= pick_random_word($basic_words$next_wlength);

//Inserts symbol into password
$password .= pick_random_symbol();
$password .= pick_random_number($digit_count);

//Inserts second word for password.
$next_wlength $length strlen($password);
$password .= pick_random_word($basic_words$next_wlength);
 
//outputs to screen password generated and the length to confirm
 
?>
 <div id="main-content">
 <?php echo "<h3>Friendly Password: " $password "</h3><br />"?>
 <?php echo "<h3>Length: " strlen($password) . "</h3><br /> "?>
 </div>



<html>
<body>
<h2>Source code for Friendly Password generator</h2>
<?php
show_source
("readable_password.php");
?>
</body>
</html>