我需要一種方法來計算某些文件的md5以確保Android中的完整性。 所以我使用org.apache.commons.codec.digest.DigestUtils.md5Hex方法來計算文件的md5,但我得到了不同的結果,因爲我在我的linux系統中使用了md5sum
。 md5sum的結果不能錯,所以我不知道我的代碼有什麼問題。當我在java中使用DigestUtils.md5Hex時出現錯誤結果
情況如下(我用科特林,但它是一樣的Java))代碼:
val fd: AssetFileDescriptor = am.openFd("index.mp3")
var result: String = ""
val fis: FileInputStream = afd.createInputStream()
val bf: ByteArray = fis.readBytes()
val t: String = "md5sum"
result = org.apaches.commons.codec.digest.DigestUtils.md5Hex(fis)
我同時使用FIS和bf的md5Hex()的paramater,他們有不同的結果,但不是正確的結果。 但是,當我使用像「md5sum」這樣的字符串時,我得到了和Linux中其他地方一樣的結果。 有什麼問題?
我發現有什麼問題,我無法使用md5算法來獲取APK中的md5sum文件。由於APK是一個zip文件,因此按下的處理將更改數據。無論如何,謝謝! – Choogle