回答
那么它是正常的MD5正在重复你的情况,如果你betweeen 0,10000
选择一个随机值,如果有什么的随机值的两倍500
那么你的MD5的意志有2个值相同的散列。
,而不是我建议你这样做:
$uniqTime = microtime(); //microtime is the time unix in milliseconds that is the most unique number you can reach, you can use it alone or rehash it, even though I find hashing it to be useless
$md5 = md5($uniqTime); // you can use the $uniqTime alone without rehashing it
好吧,我已经更新了我的代码,看起来没有重复发生! 谢谢! –
很高兴为您效劳 –
它可以同时用于多个上传,例如,如果我上传30张图片吗? –
这个替换您的代码真正独特的哈希名称(即使在万一2个用户在同一确切微秒上传文件):
$hash = sha1(mt_rand(0,9999999999).time());
编辑:所谓“真正独一无二的”,我的意思是这是不太可能,你会得到与此冲突为您的使用情况,除非我们正在谈论数百万图像的...那么它可能发生。
我不会称这是真正独特的。发生碰撞的可能性非常小。 –
好吧,不需要downvote。我补充说明可能会发生碰撞,但是我认为对于运营需求,这很可能是100%独特的。 – peixotorms
谢谢我学到了新东西! 我也试试! 我没有巨大的上传,这将很好地工作:) –
为什么不使用PHP的uniqid函数的名字呢?
<?php
$name = uniqid();
- 1. 如何防止假冒上传图片?
- 2. 防止图片上传代码注入
- 3. 防止通过PHP重复上传图片
- 4. PHP使用md5名称上传图片
- 5. 如何通过Picasa API上传图片时防止JPEG压缩?
- 6. 上传图片时如何防止空表单提交?
- 7. 防止复制nfc芯片信号
- 8. 照片上传防止覆盖
- 9. Rails:用Paperclip防止重复的照片上传?
- 10. PHP文件上传和防止重复
- 11. 有没有办法来防止重复图片上传到firebase存储
- 12. 防止在网页上缓存图片
- 13. 防止浏览器缓存上传图片
- 14. IOException文件复制未处理。从picturebox上传图片时
- 15. 防止在网页上复制文字
- 16. 如何防止复制图像
- 17. 如何防止复制世界地图
- 18. 如何防止非图像上传
- 19. Base64图片上传VS二进制图片上传?
- 20. 上传图片时控制图片的宽度和高度
- 21. 防止网站复制
- 22. C#防止复制形式
- 23. 防止身份证复制
- 24. 如何防止apk复制?
- 25. 防止邮政复制
- 26. 图像上的蒙版,以防止复制
- 27. 从div复制时防止复制html/css样式
- 28. 上传图片时出错
- 29. 上传图片时出错
- 30. 上传时压缩图片
您正在命名您的图像作为md5值? –
@яша...是的! –
为什么不使用'sha1_file'来生成文件的SHA1哈希值?那么,如果有人上传相同的文件,那么你只有一个文件,但你可以检查是否有多个数据库条目,并且只有在有一个条目时才删除文件(你要去哪无论如何删除)。 –