我有一些由 2025 位表示的信息。出于缓存目的,我需要创建一个唯一的文件名(当然不会太长,所以 fs 会处理这个),它将代表这些位。每组位都应该有唯一的文件名。
md5 适合这个吗?如果没有,我应该使用什么?
我有一些由 2025 位表示的信息。出于缓存目的,我需要创建一个唯一的文件名(当然不会太长,所以 fs 会处理这个),它将代表这些位。每组位都应该有唯一的文件名。
md5 适合这个吗?如果没有,我应该使用什么?
退房uniqid()
。如果您是极端偏执狂,请将文件名生成放在一个循环中,检查它是否存在。
$prefix = hash('sha256', $bits) . '-';
$filename = uniqid($prefix, true);
这将创建位的 SHA-256 哈希作为文件的前缀,并用于uniqid
创建唯一的文件名,文件的前缀是位的哈希,后跟-
.
这应该生成一个唯一的文件名,您可以通过散列位来识别该文件名。
您可以使用位的Base64 编码。这将保证名称的唯一性。