mirror of
https://github.com/php/php-src.git
synced 2026-04-01 13:12:16 +02:00
Using ecalloc() to create objects is expensive, because the dynamic-size memset() is unreasonably slow. Make sure we only zero the main object structure with known size, as the properties are intialized separately anyway. Technically we do not need to zero the embedded zend_object structure either, but as long as the memset argument is constant, a couple more bytes don't really matter.
Generic hashing framework for PHP
Simplest usages:
$digest = hash($algoname, $message);
$digest = hash_file($algoname, $filename);
Examples:
$digest = hash('md5', 'The quick brown fox jumped over the lazy dog.');
Feeder usage:
$context = hash_init($algoname);
hash_update($context, $message);
$digest = hash_final($context);
hash(), hash_file(), and hash_final() each support an optional boolean parameter $raw_output which behaves in the same
manner as sha1()'s optional parameter.