2

基本型のいくつかのオブジェクトで構成されるチェックサムを作成する必要があります。このページの「正しい hashCode メソッドの記述」セクションを読みました。Java、php、およびobjectivecで同様の作業(および同じ入力に対して同じ値を返す)が必要です。

どうすればいいですか?私が使用できるライブラリはありますか?

編集(私の現在のコード):

public class CheckSumGenerator {

    private final static String SEPARATOR = "|";
    private final static String DOUBLE_FORMAT = "%.30f";
    private final static DecimalFormat FORMAT_DOUBLE=new DecimalFormat("#.#################################");

    StringBuilder tempChain = new StringBuilder();

    public void putInt(int value) {
        tempChain.append(SEPARATOR).append(value);
    }

    public void putLong(long value) {
        tempChain.append(SEPARATOR).append(value);
    }

    public void putString(String value) {
        tempChain.append(SEPARATOR).append(value);
    }

    public void putBoolean(boolean value) {
        tempChain.append(SEPARATOR).append(value ? 1 : 0);
    }

    public void putDouble(double value) {
        tempChain.append(SEPARATOR).append(FORMAT_DOUBLE.format(value));
    }

    public String getChecksum() {
        return HashUtils.MD5(tempChain.toString());
    }

}
4

2 に答える 2

2

Java に依存する.hashCode()ことは、ここで望んでいることではありません。チェックサムが必要な場合は、たとえば、ほぼすべての言語で利用可能な MD5 を使用するか、SHA1、SHA256、SHA512 などを使用するかを選択できます。

あなたの毒を選んでください!

于 2013-06-19T06:58:28.693 に答える