Я получаю MD5 локального файла, но он отличается от MD5 (eTag) того же "файл в Amazon S3. Я хотел бы выяснить, являются ли последние файлы, которые у меня есть в S3, такими же, как и у меня локально. Если я не могу сравнить MD5, как мне это сделать?
Создание MD5 из локального файла (усеченный код):
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] md5 = Files.getDigest(localFile, md);
String hashtext = DigestUtils.md5Hex(md5);
Получение MD5 (eTag) из S3 (усеченный код):
ObjectListing objectListing = s3.listObjects(new ListObjectsRequest().withBucketName(bucketName));
List<S3ObjectSummary> objectSummaries = objectListing.getObjectSummaries();
for(S3ObjectSummary objectSummary : objectSummaries) {
String MD5 = objectSummary.getETag();
}
PS: Я использую org.apache.commons.codec.digest.DigestUtils
и com.google.common.io.Files
библиотеки.