app/Http/Helpers/HelperClass.php
/**
     * Generates a strong password of N length containing at least one lower case letter,
     * one uppercase letter, one digit, and one special character. The remaining characters
     * in the password are chosen at random from those four sets.
     * The available characters in each set are user friendly - there are no ambiguous
     * characters such as i, l, 1, o, 0, etc. This, coupled with the $add_dashes option,
     * makes it much easier for users to manually type or speak their passwords.
     * Note: the $add_dashes option will increase the length of the password by
     * floor(sqrt(N)) characters.
     * @param int $length
     * @param bool $add_dashes
     * @param string $available_sets
     * @return string
     */
Generates a strong password of N length containing at least one lower case letter,
one uppercase letter, one digit, and one special character. The remaining characters
in the password are chosen at random from those four sets.
The available characters in each set are user friendly - there are no ambiguous
characters such as i, l, 1, o, 0, etc. This, coupled with the $add_dashes option,
makes it much easier for users to manually type or speak their passwords.
Note: the $add_dashes option will increase the length of the password by
floor(sqrt(N)) characters.
Generates a strong password of N length containing at least one lower case letter one uppercase letter one digit and one special character . The remaining characters in the password are chosen at random from those four sets . The available characters in each set are user friendly - there are no ambiguous characters such as i l 1 o 0 etc . This coupled with the $add_dashes option makes it much easier for users to manually type or speak their passwords . Note : the $add_dashes option will increase the length of the password by floor ( sqrt ( N )) characters .
public static  function generatePassword($length = 9, $add_dashes = false, $available_sets = 'luds')
    {
        $sets = array();
        if(strpos($available_sets, 'l') !== false)
            $sets[] = 'abcdefghjkmnpqrstuvwxyz';
        if(strpos($available_sets, 'u') !== false)
            $sets[] = 'ABCDEFGHJKMNPQRSTUVWXYZ';
        if(strpos($available_sets, 'd') !== false)
            $sets[] = '23456789';
        if(strpos($available_sets, 's') !== false)
            $sets[] = '!@#$%&*?';
        $all = '';
        $password = '';
        foreach($sets as $set)
        {
            $password .= $set[array_rand(str_split($set))];
            $all .= $set;
        }
        $all = str_split($all);
        for($i = 0; $i < $length - count($sets); $i++)
            $password .= $all[array_rand($all)];
        $password = str_shuffle($password);
        if(!$add_dashes)
            return $password;
        $dash_len = floor(sqrt($length));
        $dash_str = '';
        while(strlen($password) > $dash_len)
        {
            $dash_str .= substr($password, 0, $dash_len) . '-';
            $password = substr($password, $dash_len);
        }
        $dash_str .= $password;
        return $dash_str;
    }
public static function generatePassword ( $ length = 9 , $ add_dashes = false , $ available_sets = 'luds' ) { $ sets = array ( ) ; if ( strpos ( $ available_sets , 'l' ) !== false ) $ sets [ ] = 'abcdefghjkmnpqrstuvwxyz' ; if ( strpos ( $ available_sets , 'u' ) !== false ) $ sets [ ] = 'ABCDEFGHJKMNPQRSTUVWXYZ' ; if ( strpos ( $ available_sets , 'd' ) !== false ) $ sets [ ] = '23456789' ; if ( strpos ( $ available_sets , 's' ) !== false ) $ sets [ ] = '!@#$%&*?' ; $ all = '' ; $ password = '' ; foreach ( $ sets as $ set ) { $ password .= $ set [ array_rand ( str_split ( $ set ) ) ] ; $ all .= $ set ; } $ all = str_split ( $ all ) ; for ( $ i = 0 ; $ i < $ length - count ( $ sets ) ; $ i ++ ) $ password .= $ all [ array_rand ( $ all ) ] ; $ password = str_shuffle ( $ password ) ; if ( ! $ add_dashes ) return $ password ; $ dash_len = floor ( sqrt ( $ length ) ) ; $ dash_str = '' ; while ( strlen ( $ password ) > $ dash_len ) { $ dash_str .= substr ( $ password , 0 , $ dash_len ) . '-' ; $ password = substr ( $ password , $ dash_len ) ; } $ dash_str .= $ password ; return $ dash_str ; }
Generates a strong password of N length containing at least one lower case letter,
 one uppercase letter, one digit, and one special character.
Generates a strong password of N length containing at least one lower case letter one uppercase letter one digit and one special character .