2013-12-10 68 views
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; 

}

回答

0

好吧,我經過與這些人誰負責與Web Service ..有什麼錯碼。供你參考。非常感謝讀者。

相關問題