How many hashes can be possible of one word

i am using some cache system in which that create cache file name on the base of md5 like this 01997523a99db65635afccb3db87ca2d.cache
this is the md5 of index.php
i want to know that is every time it create new cache file for every new user with new md5 name
if yes then what is the solution that i want my page don’t load every time with all query before a specific time which i give… just load old cache file of that page ?

here is the code which m using now for creating cache file giving

<?php // Settings 
$cachedir = './tmp/'; 
// Directory to cache files in (keep outside web root)
$cachetime = 200; 
// Seconds to cache files for 
$cacheext = 'cache'; // Extension to give cached files (usually cache, htm, txt) // Ignore List

$ignore_list = array( 'filesurl.php', 'files.php' ); // Script
$page = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; // Requested page
$cachefile = $cachedir . md5($page) . '.' . $cacheext; // Cache file to either load or create
$ignore_page = false; for ($i = 0; $i < count($ignore_list); $i++) { $ignore_page = (strpos($page, $ignore_list[$i]) !== false) ? true : $ignore_page; } $cachefile_created = ((@file_exists($cachefile)) and ($ignore_page === false)) ? @filemtime($cachefile) : 0; @clearstatcache(); 
// Show file from cache if still valid 
if (time() - $cachetime < $cachefile_created) { 
exit(); } 

// If we're still here, we need to generate a cache file 
ob_start(); ?>

an MD5 of a given string will always be the same - the idea is to change the string every time you want a different MD5 result.

Taking a shot in the dark, why dont you use session_id() instead?