2013-06-19 83 views
2

我需要創建一個包含幾個基本類型對象的校驗和。 我在THIS頁面閱讀了「寫入正確的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()); 
    } 

} 
+0

這似乎是完美的...... – Sap

回答

2

依託於Java的.hashCode()是不是你想要的這裏。如果你想要校驗和,你可以選擇使用MD5,它可以在幾乎所有語言中使用,或者使用SHA1,SHA256,SHA512等。

選擇你的毒藥!

+0

我也是結合在一個字符串,然後所有的值生成一個MD5? – Addev

+0

@Addev你爲什麼不寫一個你想要實現的代碼示例 – Sap

+0

請檢查編輯的問題 – Addev