0

アプリケーションが変更されるたびに、そのファイルをリロードする必要があります。

その lastModified をチェックしていますが、処理する前に md5sum もチェックしたいと思います。

そこに何か便利なものがある場合に備えて、Spring フレームワークを使用しています。

これを確認する最良の方法は何ですか?チェックする必要がある例/ライブラリはありますか?

ありがとう。

4

5 に答える 5

2

このリンクの説明とコード スニペットが役立つ場合があります。

記録のために、bigInteger を使用するほとんどのスニペットに共通の問題があります。bigInteger クラスは文字列の先頭にある余分なゼロを削除するため、そのようなチェックを追加することをお勧めします。

    String res =new BigInteger(1,m.digest()).toString(16);
    if (res.length() == 31)
          res = "0" + res;
于 2010-11-15T17:33:36.357 に答える
1
    InputStream in = new FileInputStream(filename);

    MessageDigest md5 = MessageDigest.getInstance("MD5");
    byte[] buffer = new byte[1024];

    while (true)
    {
        int c = in.read(buffer);

        if (c > 0)
            md5.update(buffer, 0, c);
        else if (c < 0)
            break;
    }

    in.close();

    byte[] result = md5.digest();
于 2010-11-15T17:42:39.633 に答える
0

ファイル全体を読み込んで、 のインスタンスにフィードする必要がありますMessageDigest

于 2010-11-15T17:31:01.297 に答える
0

Java 組み込み関数を使用して実行できます。

MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
digest.update(...your data here...);
byte[] hash = digest.digest();

または、ここで別の実装を試してください。確かに高速です(その名前によると:)

編集 :

彼らはまさにあなたが望むファイルmd5sumを提供しているようです!

ファイルをハッシュするための追加の便利なメソッドが必要です...

String hash = MD5.asHex(MD5.getHash(new File(filename)));
于 2010-11-15T17:33:16.243 に答える
0

MessageDigestクラスを使用します。ここで良い例を見つけることができます。

于 2010-11-15T18:13:32.500 に答える