-
Notifications
You must be signed in to change notification settings - Fork 0
iadnah/spassfactory
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
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 0
No packages published