1

我有一些由 2025 位表示的信息。出于缓存目的,我需要创建一个唯一的文件名(当然不会太长,所以 fs 会处理这个),它将代表这些位。每组位都应该有唯一的文件名。

md5 适合这个吗?如果没有,我应该使用什么?

4

2 回答 2

2

退房uniqid()。如果您是极端偏执狂,请将文件名生成放在一个循环中,检查它是否存在。

$prefix   = hash('sha256', $bits) . '-';
$filename = uniqid($prefix, true);

这将创建位的 SHA-256 哈希作为文件的前缀,并用于uniqid创建唯一的文件名,文件的前缀是位的哈希,后跟-.

这应该生成一个唯一的文件名,您可以通过散列位来识别该文件名。

于 2012-07-25T22:57:24.313 回答
2

您可以使用位的Base64 编码。这将保证名称的唯一性。

于 2012-07-25T22:58:13.310 回答