Skip to content

iadnah/spassfactory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

SECURE PASSWORD FACTORY - 0.2.1b
By: iadnah :: github.com/iadnah/spassfactory

============== LICENSE AND COPYRIGHT =================================
(c) 2009 iadnah

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
=======================================================================


=============== SECURE PASSWORD FACTORY: ABSTRACT =====================
This class is indended for generating secure, random passwords
for end users. It is meant to produce passwords which are easier
to remember than completely random strings of characters, but
which cannot be easily guessed by software which use the standard
methods of guessing "easy" passwords first.

Most people create passwords based on a semi-pronouncable "root"
and then append either a prefix or suffix to the root (or both).
However, most people are not good at doing this and human psychology
tends to lead people to picking from the same pool of about 100,000
prefixes, suffixes, and roots. This software follows that general
method of generating passwords, but instead of pulling from words
and phrases the user "knows" it attempts to generate semi-pronouncable
"chunks" of passwords and appending or prepending random "bridges" of
variable length.

I hope this code is useful to someone. If the license does not allow
you to use it for something you want to use it for please contact me
and I will discuss licensing it to you under a more 
proprietary-friendly license for a reasonable price.

================= DISCLAIMER ==========================================
This software is not guarnteed to be suitable for any purpose and
is not under any sort of warranty. Use it at your own discretion. Do
not assume that any password generated by this is automatically secure
or safe to use for any purpose.
=======================================================================

================ BASIC USE ============================================
All the main methods for this class are public functions you can use
by just initializing the class. The main ones you'll use are genchunk()
and gen_bridge(), as well as subs_scramble() and caps_scramble(). There
are three shortcut functions provided for generating passwords right off
the bat, or you can use your own mix of the aforementioned functions to
do something more complex/custom.

@generate a simple password
	generates a 8 to 12 character password composed of lowercase 
	alphanetical characters, which should be semi-pronouncable

	$gen = new spassfactory();
	$pass = $gen->gen_pass_basic(8, 12);

@generate a mildly complex password
	generates a 8 to 12 character password composed of both upper
	and lowercase characters, which should be semi-pronouncable

	$gen = new spassfactory();
	$pass = $gen->gen_pass_mix(8, 12);


@generate a more complex password
	generaytes a 8 to 12 character password composed of both
	upper and lowercase characters, and replace some of the
	characters with "leet speak" numbers and symbols

	$gen = new spassfactory();
	$pass = $gen->gen_pass_moderate(8, 12)

@generate a fairly complex password, with bridges
public function gen_pass_hard($ccount, $cmin, $cmax, $bset = 1) {
	generates a password composed of 3 pronouncable chunks (as if
	made with gen_pass_moderate) each 3 to 5 characters long. Each
	chunk will have a "bridge" stuck before or after it. Passwords
	made with this should be (fairly) easy to remember and very
	resistant to guessing and brute force attacks.

	$gen = new spassfactory();
	$pass = $gen->gen_pass_hard(3, 4, 5);

=======================================================================

About

PHP class for generating secure passwords

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages