使用MD5或随机进行文件命名?

时间:2014-10-28 04:19:13

标签: random upload md5

哪种文件命名方法更好?

方法1:

  • MD5一个字符串/文件(无论如何),我们使用[0-9a-z]字符获得32字符串长度的结果
  • (10 + 26)^ 32种组合

方法2 as outlined here

  • 使用PHP随机生成一组字符串[0-9a-zA-Z]字符长度为32个字符串
  • (10 + 26 + 26)^ 32种组合

显然,方法2有更多的组合和随机性,但为什么人们不使用方法2而是使用方法1?

2 个答案:

答案 0 :(得分:0)

我可以想到两个原因:

  1. 某些文件系统(例如VFAT,FAT32)不支持区分大小写的文件名。
  2. MD5哈希值超出随机值,即它可以用于指纹/校验和文件。这可以帮助您:
    • 验证文件内容自创建以来未发生更改;
    • 防止存储重复的内容。

答案 1 :(得分:0)

3个原因。

  • 没有多少人意识到rand()提供更多随机性
  • md5适用于大多数情况。从历史上看,它已被用作事物的唯一标识符,因此人们喜欢使用它,因为它非常常见
  • 正如@Robby指出的那样,像windows这样的操作系统并不支持区分大小写的文件名。 aaAAaa.txtaaaaaa.txt是unix系统上的两个不同的东西,但在Windows系统上是相同的东西