php - 在 windows、linux 和 Mac 上为同一图像创建不同的哈希值

标签 php ios linux windows hash

我正在使用以下代码创建哈希值,现在发生的情况是,当我在 Windows 本地 Xampp 服务器上测试哈希值时,我得到的哈希值与在 Linux 上运行的相同代码不同。

  move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $newname);
    "Stored in: " . "upload/" . $_FILES["file"]["name"];
    $image = "upload/" . $newname;
    $sign = md5(file_get_contents($image));

现在我不知道为什么会这样。对于我刚刚在上面粘贴的相同代码。

编辑:再次打开问题。我发现的解决方案仅适用于 Linux,这意味着 linux 和 Windows 现在给我相同的哈希值,但是当从 Mac(IOS) 上传图像时,它仍然生成不同的哈希值。

最佳答案

Windows 和 Linux 有不同的行尾,\r\n\n。所以在读取文件的时候,文件的内容是不一样的。

尝试上传没有新行的文本文件或二进制文件。还要检查读取的字节数的差异。它应该等于下一个文件中的新行数。

关于php - 在 windows、linux 和 Mac 上为同一图像创建不同的哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23829553/

相关文章:

php - PHP 和 MYSQL 中格式 DD/MM/YYYY 的字符串到日期的转换不起作用

ios - 如何清除 Objective-C 中的应用程序缓存?

c - mmap 分配返回 0xfffffffffffffff4(不是 MAP_FAILED)

ios - 注释的问题

Linux(Ubuntu)平均负载高于总真实利用率?

linux - 仅播放音频的 SIP 服务器?

php和mysql的问题

php - PHP 消息的通知警报

php - add_action() 中的函数参数传递给 init

ios - 如何在 iTunes 12.7.0 及更高版本中将存档 (.app) 转换为 .ipa?