Why not setting it to 0 for all crypt algorithms (i.e.: make it private to Crypt_Base). hash_pbkdf2 will recognize it as hash algorithm dependent and will use the max. Same behavior can be implemented internally. Other kdf future functions will accomodate accordingly. If the targetted crypt algorithm needs a shorter key, it may use only the first bytes, as PBKDF2 does... just a suggestion...