0
我正在閱讀RFID芯片的標籤,我想將它們發送到服務器。當我在轉換爲文件並通過ftp上傳之前對字節數組進行散列處理時,我得到的散列值與上傳文件的散列值不同。 這是我在用的散列字節數組:差異字節數組和文件Java
public static byte[] SHAsum(byte[] convertme)
throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("SHA-256");
return md.digest(convertme);
}
private static String byteArray2Hex(final byte[] hash) {
Formatter formatter = new Formatter();
for (byte b : hash) {
formatter.format("%02x", b);
}
return formatter.toString();
}
,這是我上傳的文件:
private byte[] EfSodBin;
try {
con.connect(IP, 21);
con.login(FTP_USER, FTP_PW);
InputStream isDG2 = new ByteArrayInputStream(DG2);
InputStream isSOD = new ByteArrayInputStream(EfSodBin);
con.makeDirectory(DocNu);
con.storeFile(DocNu + "/DG2.bin", isDG2);
con.storeFile(DocNu + "/SOD.bin", isSOD);
Log.d("FTP", "files uploaded");
con.logout();
} catch (SocketException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
解決的辦法是增加con.login後以下內容:
con.setFileType(FTP.BINARY_FILE_TYPE);
這將有助於有一個內容的例子,2哈希。 – njzk2
我分析了內容。有時會添加字節,然後文件繼續運行。 – olpanis