我将要将图像上传到系统,并且需要通过非顺序唯一ID来引用它们.我已经阅读了一些关于GUID的内容,我想知道在PHP中创建一个GUID的最佳方法是什么.我应该md5()当前的时间戳和盐,或PHP的uniqueid(http://www.php.net/manual/en/function.uniqid.php)功能是否足够?
谢谢!
Bra*_*enP 20
编辑:
哎呀!我忘记了我的这个古老的答案.为了澄清我的幼稚造成了混乱(下面提出的意见一致):MD5(如最有用的哈希值,根据其性质)的不射的,所以它们的输出不能保证对所有输入唯一的.
如果散列冲突是一个问题(在这种情况下,它们是),使用此技术将需要在散列后检查是否已生成相同的密钥.
由于uniqid使用当前时间(以微秒为单位)来生成guid,因此几乎没有机会遇到过两次相同的时间.
因此,如果您只是使用它来创建唯一的文件名,uniqid()就足够了.如果你想阻止用户猜测guid,那你也可以把它变得更难和md5.