0
以下是我的問題:我想通過Web服務採用文件並以Base64格式發送它。該Web服務還要求我獲得文件的MD5校驗和並將其與文件一起發送。這樣,它可以控制我是否正確發送文件。MD5將文件轉換爲字節數組後的校驗和
我會離開文件的散列。直到它沒事。 (我檢查了源代碼和不同的MD5 Checkom客戶端工具)但是,當我將它轉換成Base64併發送到那裏時,另一方馬上告訴我,哈希是錯誤的。由於我正在與州辦公室打交道,我無法迅速回復我的電話。我想知道散列在轉換爲Base64時會不會被損壞。如果我做對了,你能控制代碼嗎?
非常感謝提前;
public static Base64Binary MakeBinary(String filePath) {
Base64Binary b64binary = new Base64Binary();
b64binary.setContentType("application/x-zip-compressed");
try {
File file = new File(filePath);
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum); //no doubt here is 0
//Writes len bytes from the specified byte array starting at offset off to this byte array output stream.
System.out.println("read " + readNum + " bytes,");
}
} catch (Exception ex) {
ex.printStackTrace();
}
byte[] bytes = bos.toByteArray();
b64binary.setValue(bytes);
} catch (Exception e) {
e.printStackTrace();
}
return b64binary;
}