контрольная сумма одинакова для разных изображений - PullRequest
0 голосов
/ 16 октября 2018

Я отправляю тысячи изображений из одной системы в другую по FTP.Сначала я дам все изображения, но позже я хочу отправить только те изображения, которые были изменены.

Я не нашел какого-либо конкретного решения для определения измененных изображений на основе обновленной метки времени вокна.Поэтому я решил следующий подход:

1.) Сгенерируйте контрольные суммы для всех файлов и сохраните их где-нибудь.Может быть, база данных или файловая система.

2.) Каждый раз, когда я отправляю файлы в другую систему, сравниваю контрольные суммы и отправляю только файлы с разными контрольными суммами.

Для проверки вышеизложенного япопытался сгенерировать контрольную сумму (SHA и MD5) для двух разных изображений, и контрольная сумма была одинаковой.

Ниже приведен пример кода:

package com.test;

import java.io.FileInputStream;
import java.io.IOException;

import org.apache.commons.codec.digest.DigestUtils;

public class TestHash {
     public static void main(String[] args) throws IOException {

            String checksumSHA256 = DigestUtils.sha256Hex(new FileInputStream("monkey_11.jpg"));
            System.out.println("checksumSHA256 : " + checksumSHA256);

            String checksumMD5 = DigestUtils.md5Hex(new FileInputStream("monkey_11.jpg"));
            System.out.println("checksumMD5 : " + checksumMD5);


            String checksumSHA256_1 = DigestUtils.sha256Hex(new FileInputStream("monkey.jpg"));
            System.out.println("checksumSHA256 : " + checksumSHA256_1);

            String checksumMD5_1 = DigestUtils.md5Hex(new FileInputStream("monkey.jpg"));
            System.out.println("checksumMD5 : " + checksumMD5_1);

        }
}

Мне интересно, почему контрольные суммыподобные?Есть ли другой способ идентифицировать обновленные изображения?

...