Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:15529 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 31850 invoked by uid 1010); 21 Mar 2005 23:06:55 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 31835 invoked by uid 1007); 21 Mar 2005 23:06:54 -0000 Message-ID: <20050321230654.31834.qmail@lists.php.net> To: internals@lists.php.net References: <20050321211147.99392.qmail@lists.php.net> Date: Mon, 21 Mar 2005 15:06:54 -0800 Lines: 23 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1478 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1478 X-Posted-By: 169.229.139.92 Subject: Re: crc32, md5 & sha1 functions From: pollita@php.net ("Sara Golemon") > crc32, md5 and sha1 functions, implemented in PHP, are widely used for > computing "fingerprint" of any data. But current implementation has not very > good limitation - there is no way to get/set current state vector of these > functions. So, we have to pass whole amount of data as argument of these > functions at once instead of sequently data processing. > Of course, we can use md5_file() or sha1_file() to get hash of huge amounts > of data, but there is missing crc32_file() analog. > > I think, the best way is to add optional parameter to these functions, which > will allow to get/set current state vector of hash algorithms. This change > will not break backward compatibility. > I like the concept of exposing hash contexts to userspace the way they work in C (HASH_init(), HASH_update(), HASH_final()) but I think the more appropriate place to put this "extended" functionality is in the mhash extension. -Sara