以下是两种方法。我个人采用第二种另外再加md5加密
//返回为 8位,类似于git 生成的那样长度
function getcode(){
    return sprintf('%x',crc32(microtime()));
}


文章来自:
http://segmentfault.com/q/1010000002976748/revision

function getInviteCode() { 
list($s1, $s2) = explode(' ', microtime()); 
return sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000); 
}
这个绝对唯一,某一秒加上其毫秒。除非你的网站在同一毫秒同时接受到了邀请码的请求并且你的服务器配置非常好能在一毫秒内处理两个这样的申请
文章来自:
http://zhidao.baidu.com/link?url=DwmwM1aTgjTWzj7EOpielTfUb5dhlFLincG0BBC4oT6wvhckZpoJmBXo8_EX6EFGsuiXCJGFAfkUxLG9j3hU_z2aXBYUC1LGwXmwvdj3my3