TYPO3 如何生成文件索引,如其 XML-网站导出数据所示?

How does TYPO3 generate the index of a file, as seen in its XML-website export data?

以下 XML 代码是使用 TYPO3 网站导出功能生成的文件的摘录。导出功能配置为包括网站上使用的文件:

...
<files_fal type="array">
    <file index="008f35a8201e50eb24a9667092782ec0" type="array">
        <filename>somefilename.jpg</filename>
        <filemtime>1603259011</filemtime>
        <content base64="1">...</conten>
        <content_sha1>...</content_sha1>
    </file>
</files_fal>
...

我想知道的是,在这种情况下索引属性(008f35a8201e50eb24a9667092782ec0)的值是如何生成的。感谢您提供这方面的任何线索。

这看起来很像存储在 sys_file table 中的哈希值之一。应该是 identifier_hash 才有意义。

现在我自己找到了答案(通过查看 TYPO3 的 PHP 源代码)

该字符串是在导出期间通过 sys_file table、[ 中文件的 存储 uid 串联创建的=30=] 来自同一个 table,中间有一个 :

然后使用 md5 将生成的字符串转换为散列。

在伪代码中:

hash = make_md5( storage_uid + ':' + identifier_hash )

根据您的 md5 生成函数的工作方式,可能需要事先将字符串编码为二进制。