1
ritksm 2013-04-15 15:22:09 +08:00
对文件内容做hash不就好了。。。。md5位数不够就sha512总够了吧。。。
|
2
justfindu 2013-04-15 15:22:56 +08:00 1
话说文件的md5相同了 那不就是同一个文件 何必要存两次?
|
3
swulling 2013-04-15 15:24:32 +08:00
总有很多人蛋疼的考虑md5碰撞了怎么办。。。
|
4
huihen 2013-04-15 15:44:37 +08:00
md5_文件大小做文件名如何
|
5
c0878 2013-04-15 16:00:20 +08:00
MD5也会重复??
|
8
okidogi 2013-04-15 16:39:37 +08:00
|
9
clino 2013-04-15 17:04:07 +08:00
用 sha1_文件字节数 这样我觉得是不是就可以了
|
10
Winny 2013-04-15 20:47:09 +08:00
md5确实会产生碰撞,实际项目中遇见过
|
11
gDD 2013-04-15 21:56:43 +08:00 1
用 crc_md5_sha 作为文件名呢?
|
12
j 2013-04-16 00:45:41 +08:00
本地用的是mongodb gridfs生成文件名,mongodb生成的ObjectId本身带时间戳信息,所以不会重名。
|
13
mifan 2013-04-16 02:35:26 +08:00
md5_filesize.ext 这个碰撞的几率就更小了
|
14
lightening 2013-04-16 04:25:56 +08:00
用sha-1的话,160bit,如果每秒保存一个文件,那么平均大约需要2^100倍的宇宙的年龄这么长的时间,会出现一次碰撞。楼主的运气不会有这么差的吧?
|
15
lightening 2013-04-16 04:28:46 +08:00
说实话,您碰到机房停电、好多硬盘一起挂掉、网络瘫痪、服务器被偷、机房被海啸淹了、彗星撞地球这种事的概率全都比sha1碰撞高无数倍。
|
17
Winny 2013-04-17 15:12:28 +08:00
@FanError 没有文件,而且是别组的项目,只是在研发会议上报告过这个问题。(url的md5 hash。当时用作缓存key。)
|
20
janxin 2013-04-17 17:30:45 +08:00 1
md5+sha1就行了,不过缺点是key会比较长
|