0) { //$data = fread($fp, $chunkSize); $data = $GLOBALS['s']; $read = hash_update($ctx, $data); $ch .= $data; $remaining -= strlen($data); } return hash_final($ctx) . " : " . md5($ch); } for($i=0;$i<100;$i++) echo hash_part(0,40*1024*1024) . "\n"; ?> Output: 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 30dacffb204a6440440a99c729ba2220 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 16d1f706be58add6f03f0822a6f9369b 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 031721f72b99e579d289c0466267ac76 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 5413b2a62735e8b2887c8ebe0e1da650 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 16d1f706be58add6f03f0822a6f9369b 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 30dacffb204a6440440a99c729ba2220 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 4cbd713d6c8bf2639767d9dd05c22445 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 18906f801c126237e485bdb3b5e23e73 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 16d1f706be58add6f03f0822a6f9369b 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : b691624446633d9da3a66b29b974fdec 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 034c00ce62aa68a451909a17c87a18b3 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 034c00ce62aa68a451909a17c87a18b3 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 031721f72b99e579d289c0466267ac76 : 41413b9830f0f113e6283c8ee54e7c56 d4778acdca2147d30717ad22349154b0 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : a341a8a80e23b7cd14726eac3d4956b3 16d1f706be58add6f03f0822a6f9369b : 41413b9830f0f113e6283c8ee54e7c56 41413b9830f0f113e6283c8ee54e7c56 : 41413b9830f0f113e6283c8ee54e7c56