Skip to end of metadata
Go to start of metadata

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Filter_Hash Component Proposal

Proposed Component Name Zend_Filter_Hash
Developer Notes
Proposers Thomas Weidner
Zend Liaison TBD
Revision 1.0 - 5 April 2010: Initial Draft. (wiki revision: 7)

Table of Contents

1. Overview

Zend_Filter_Hash is a filter which returned the hash for given input.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will return hash values for given input
  • This component will support multiple adapters like Zend_Filter_Encrypt

4. Dependencies on Other Framework Components

  • Zend_Filter

5. Theory of Operation

Zend_Filter_Hash provides a filter which can be used within other components which allow the usage of filters. It provides adapters for several available extensions and methods.

6. Milestones / Tasks

  • Milestone 1: [DONE] Proposal finished
  • Milestone 2: Proposal accepted
  • Milestone 3: Working implementation
  • Milestone 4: Unit tests
  • Milestone 5: Documentation
  • Milestone 6: Moved to core

7. Class Index

  • Zend_Filter_Hash
  • Zend_Filter_Hash_Interface
  • Zend_Filter_Hash_Crc32
  • Zend_Filter_Hash_Crypt
  • Zend_Filter_Hash_Md5
  • Zend_Filter_Hash_MHash
  • Zend_Filter_Hash_Sha1

8. Use Cases


Simple CRC32 hashing


Blowfish hashing with salt key

9. Class Skeletons



Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Apr 05, 2010

    <p>Implementation can be found within the user branch
    <a class="external-link" href=""></a></p>

  2. Jul 30, 2010


  3. Jul 30, 2010

    <p>To note:<br />
    This filter should not extend Zend_Filter_Encrypt because encryption is a two-way filter. Encrypted content can be decrypted again.</p>

    <p>But a Hash can not be de-hashed. A hash is always a one-way filter.</p>

    <p>Therefor the separation into two explicit filters is better.</p>

  4. Aug 03, 2010

    <ac:macro ac:name="note"><ac:rich-text-body><p><strong>Community Review Team Recommendation</strong></p>

    <p>The CR Team advises that this proposal requires amendment in the following ways:</p>

    <li>The design of the component should be simplified to use ext/hash as much as possible instead of alternative extensions/functions/adapters which are not strictly needed.</li>
    <li>The concept of a salted hash should not utilise a HMAC function, i.e. a salt should be concatenated to the data prior to normal hashing.</li>
    <li>The filter should include the option to return hashes as binary data (in addition to the default hexadecimal)</li>