Chris Shiflett wrote:
If you do write this, please don't call it a password generator, else
people might use these things for passwords. :-)

Excellent point. This is for creating one-time invitation codes for users to participate in surveys and not for actual passwords.


Thanks to a link posted by someone else, I was able to find a list of nearly 113,000 words between 4 and 12 characters long that can be used. Even though that's a lot of words, as Chris points out above, it would be trivial to write a script to try every combination of the words...

For those interested, here's the simple function to grab a number of words from a text file containing each word on it's own line:

define('WORDCODE_NUMWORDS',2);
define('WORDCODE_SEPERATOR','-');
    function _getWordCode()
    {
        $retval = '';
        $chosenwords = array();

        $file = 'words.txt';
        $fp = fopen($file,'r');
        $fsize = filesize($file);

        for($x=0;$x<WORDCODE_NUMWORDS;$x++)
        {
            $pos = mt_rand(0,$fsize);
            fseek($fp,$pos);
            while(fgetc($fp) != "\n")
            { fseek($fp,--$pos); }
            $chosenwords[] = trim(fgets($fp));
        }

        return implode(WORDCODE_SEPERATOR,$chosenwords);
    }

Anyone thinking of suggesting file() and array_rand() should try it themselves before doing so. ;)

--

---John Holmes...

Amazon Wishlist: www.amazon.com/o/registry/3BEXC84AB3A5E/

php|architect: The Magazine for PHP Professionals – www.phparch.com

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to