0
我需要計算csv文件的校驗和。每次更改文件中的數據時,校驗和都會發生變化。在這方面,我發現互聯網沒有什麼用處。如何在JSP中爲CSV文件生成md5校驗和
我需要計算csv文件的校驗和。每次更改文件中的數據時,校驗和都會發生變化。在這方面,我發現互聯網沒有什麼用處。如何在JSP中爲CSV文件生成md5校驗和
首先,這個問題不是特定於JSP的。 JSP只是一個HTML代碼生成器。將Java代碼寫入JSP文件而不是普通的Java類不會使其成爲JSP問題。如果您專注於使用「Java」關鍵字解決未來的Java問題,而不是使用「JSP」關鍵字,那麼您會更加努力。
說,你可以使用MessageDigest
你更新與從文件中讀取的字節。
FileInputStream input = new FileInputStream("/path/to/file.csv");
MessageDigest md5 = MessageDigest.getInstance("MD5");
byte[] buffer = new byte[10240];
for (int length = 0; (length = input.read(buffer)) > 0;) {
md5.update(buffer, 0, length);
}
byte[] hash = digest.digest();
您可能希望將散列轉換爲十六進制。
StringBuilder hex = new StringBuilder(hash.length * 2);
for (byte b : hash) {
if ((b & 0xff) < 0x10) {
hex.append("0");
}
hex.append(Integer.toHexString(b & 0xff));
}
String hexString = hex.toString();
谷歌告訴答案,閱讀:http://www.jguru.com/faq/view.jsp?EID=216274。您可以輕鬆地用MD5替換CRC32。 – Raptor
@ShivanRaptor你應該將其作爲答案發布。 – Zoot
@Zoot:雖然這不是正確的答案。 CheckedInputStream不支持MD5。 – BalusC