我正在使用以下代码创建哈希值,现在发生什么是当我在
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中为同一个代码生成了两个不同的哈希值
原文链接:https://www.f2er.com/php/130880.htmlmove_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $newname); "Stored in: " . "upload/" . $_FILES["file"]["name"]; $image = "upload/" . $newname; $sign = md5(file_get_contents($image));//This is code block that i was implmenting before solution
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $newname); "Stored in: " . "upload/" . $_FILES["file"]["name"]; $image = "upload/" . $newname; $sign = md5_file($image);// Changed here
从这个我认为哈希值可能是相同的,当由md5()生成,但如果此函数接受文件作为输入,哈希值的计算方式不同,我不知道这是一个PHP方面的问题或真正的操作系统级问题,但如果我继续使用md5_file()生成文件的哈希我不会得到不同的哈希.