在我的程序中,我使用 Java 程序中的 Ftp 将文件加载到我的服务器,然后比较 MD5 和。
上传工作正常,我得到了相同的 md5 总和。但是 php-version 在相同的 md5-sum 之前有一个“0”。为什么会这样?
Php: 0e9e9399840d9a9368b53d3df98a6a2f
Java: e9e9399840d9a9368b53d3df98a6a2f
最佳答案
它们是一样的,只是 PHP 在值前面多了一个 0,所以它总是 16 个字符。
将散列视为十六进制数字 - 它可以被填充,因此它始终是相同的数字位数(因为它永远不会超过 16 位数字),但它不一定是。这有点像比较数字 209
和 0209
。
关于java - MD5 在 PHP 和 JAVA 中给出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14981094/