TalkPHP
 
 
Account Login
Latest Articles
» The basic usage of PHPTAL, a XML/XHTML template library for PHP
» Vulnerable methods and the areas they are commonly trusted in.
» Simple way to protect a form from bot
» The Basics On: How Session Stealing Works
» How to keep your forms from double posting data
Advertisement
Associates
Associates
techtuts Darkmindz
CSS Tutorials Tutorialsphere.com - Free Online Tutorials
Boston PHP SurfnLearn
Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old 01-11-2008, 01:59 PM   #1 (permalink)
The Addict
Top Contributor Good Samaritan 
 
Join Date: Jan 2008
Location: USA
Posts: 218
Thanks: 16
RobertK is on a distinguished road
Box the PHP Hash Library (PHL)

About

PHL, the PHP Hash Library, is an object oriented set of classes designed to encapsulate enumeration of the hashes in a given build of mhash. It loads information that has been aggregated into an XML file and tests the hash speed of the algorithms. Currently most algorithms in mhash distributions are ranked and rated in accordance with the known information. Even when a hash is unknown the script makes its best attempt to extract what it can.

Currently, there is detailed information within the XML datafile on 38 different hashes.

Purpose

To abstract information about hashing algorithms present on a server, to rank by approximated fitness, and to allow the end-user (webmaster) to select which hash they desire for security. Serves to permit selection of secure, fast, hashes and dynamically set the character length of the database password, session, and any other hashed fields.

To allow easy, simplistic access to this data from installation scripts.

Preview »

License

The Mozilla Public License. Remember to credit me visibly and overtly within your documentation.

My only request is that: if you make money by using this script in your software please consider sending me a small chunk. No obligation, just a request. Feel free to PM me about it, if you so desire.

Includes
  1. Base PHL script
  2. Demonstration/test script
  3. Sample function for fitness color coding
  4. README <-- it isn't there to be ignored!
  5. Documentation, generated by phpDocumentor

Credits
  • Salathe, for the regex pattern that works. (Location documented in source.)

Changelog
Code:
Changelog:

  DONE        (*)
  CONSIDERING (?)
  IN-PROGRESS (%)
  SCRAPPED    (-)


  Version 1.0.2
      * MANY tweaks to relatavisticStrength() in the test script.
      * Full overhaul of the calculateFitness() method, yields better results.
      * Test script now shows fatally flawed hashes visibly.
      * XML file strength ratings rounded down to plain integers.

  Version 1.0.1
      * Switched dummy generation to inside getInstance() so unless you
        use the phlHashList class there won't be any file generation.
      * Classes renamed to 'phl' prefix, HashLib object now 'phl'.
      - Throughput is now tested on a 512kb file once for speed comparison, PHP
        may have slight performance trouble in hashing with MD2.  Hashes are
        done once, not three times, and no average or standard deviation are
        generated.
          ? Perhaps I should implement a blacklist to ban the slowest hashes,
            like MD2.  Could extend to ones such as Adler and CRC.
      % Documentation with phpDocumentor is relatively complete.
          ? Maybe make a custom template, the one I've got has bugs that drive
            me up the wall.  Like a front page with no version info, no author
            list, or even copyright notice.  Not good.
      % Deprecation cleanup.
      ? Still considering the possibility of a cUrl update method, not likely
        without request.

  Version 1.0 -- the "PHP Hash Library"
      * Full rewrite from scratch
      * 100% object oriented
      * Less procedural generation
         ? Not sure how to remove the dummy file generation
           without loosing efficiency; may use DEFINE instead.
      * Processing times averaged over three tests
         * Standard deviation is calculated and used to weigh
           the algorithm's general fitness.
      * All data, save speed (dynamic calculation on end server)
        stored in an XML file.
         ? Support cURL updating of XML database as algorithms
           are reported.
      * Full object oriented sorting of items supported
      * Singleton-Factory design style
      % Documentation

  Version 0.2
      * Rewrite to export significant data to XML

  Version 0.1 -- Codename "Uber-Hash"
      * Basic features
      * Javascript sort
      * 100% procedural
Attached Thumbnails
php-hash-library-phl-preview.jpg  
Attached Files
File Type: zip phl_v102.zip (55.8 KB, 59 views)
__________________
Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning. - Rich Cook
RobertK is offline  
Reply With Quote
The Following 3 Users Say Thank You to RobertK For This Useful Post:
Daniel (01-22-2008), Orc (01-23-2008), Wildhoney (01-15-2008)
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 01:19 AM.

 
     

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0