getLocalHost(); $this->valueBeforeMD5 = $address.':'.$this->currentTimeMillis().':'.$this->nextLong(); $this->valueAfterMD5 = md5($this->valueBeforeMD5); } function toString() { $raw = strtoupper($this->valueAfterMD5); return substr($raw,0,8).'-'.substr($raw,8,4).'-'.substr($raw,12,4).'-'.substr($raw,16,4).'-'.substr($raw,20); } private function nextLong() { $tmp = rand(0,1)?'-':''; return $tmp.rand(1000, 9999).rand(1000, 9999).rand(1000, 9999).rand(100, 999).rand(100, 999); } private function currentTimeMillis() { list($usec, $sec) = explode(" ",microtime()); return $sec.substr($usec, 2, 3); } private function getLocalHost() { $address = $_ENV["COMPUTERNAME"].'/'; $address.= $_SERVER["SERVER_ADDR"]; return strtolower($address); } } ?>