如何在JSP中为CSV文件生成md5校验和

时间:2012-05-29 08:40:02

标签: jsp csv md5 checksum

我需要计算csv文件的校验和。每次更改文件中的数据时,校验和都会更改。在这方面我没有发现互联网上有用的东西。

1 个答案:

答案 0 :(得分:2)

首先,这个问题并非特定于JSP。 JSP只是一个HTML代码生成器。在JSP文件而不是普通的Java类中编写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();