![有可能解码这样的文件名吗?](https://linux22.com/image/1321115/%E6%9C%89%E5%8F%AF%E8%83%BD%E8%A7%A3%E7%A0%81%E8%BF%99%E6%A0%B7%E7%9A%84%E6%96%87%E4%BB%B6%E5%90%8D%E5%90%97%EF%BC%9F.png)
有时,当您将照片上传到某些社交网络时,他们会将照片的文件名更改pchelka_mia.jpg
为ze58dadc2.jpg
。
我试图删除一张照片,软件神奇地(但仅一次)将文件名解码 ze58dadc2.jpg
为pchelka_mia.jpg
。
我的问题是:一般来说,是否可以将这些文件名解码为原始文件名?什么算法/方案对其进行编码?什么软件可以对其进行解码?
答案1
如果信息在任何地方,它就在 EXIF 数据中 - 有很多工具可以读取这些信息,例如外置工具。如果不知道社交网络到底是什么,就很难进行测试来确定,但这是最有可能的解释。
答案2
ze58dadc2
是一个随机生成的字符串,他们可以使用数据库(他们自己填写)来查找它所属的文件名,然后返回pchelka_mia
。这里没有神奇的算法,只是基本的查找,这就是为什么你无法解码它们。
他们保留扩展名,因为它始终是四个字符,他们不想在数据库中存储(即使经过压缩)额外的四个字符。此外,他们通常这样做的原因是使 URL 更短,并在您共享图片时将其匿名化,这样人们在拿到它时就不知道这个人/相册的名字。
它没有存储在 exif 中,只是因为没有它的字段(除非你误用另一个字段),并且为了简单起见,他们不会在你上传图像时对其进行操作(除了可能剥离 exif 数据,这样他们就无法跟踪你的位置)。
答案3
这或多或少是一个有根据的猜测,但我要说的是,在大多数情况下,无法解码原始文件。您看到的新文件名(在您的示例中为ze58dadc2.jpg
)可能是某种形式的任意 ID。将文件上传到所述社交网络后,它将被添加到数据库中,并且计数器(可能采用 base64,因此是字母)可能会增加一个单位。换句话说,最终文件名几乎肯定与初始文件名没有任何关联。这是为了确保每个文件都有一个唯一的名称,因此如果其他人上传了名为的文件pchelka_mia.jpg
,则两个文件可以共存。
正如 Journeyman 所说,原始名称可能位于照片的元数据中,但如果不知道它是哪个社交网络,我就无法确定。