我試圖用SHA-256
編碼和我得到的答覆是使用1111
鹽加密12345
:010def5ed854d162aa19309479f3ca44dc7563232ff072d1c87bd85943d0e930
這是不一樣的this site返回的值。SHA-256散列產生錯誤的結果在Android的
下面的代碼片段:
public String getHashValue(String entity, String salt){
byte[] hashValue = null;
try {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
digest.update(entity.getBytes("UTF-8"));
digest.update(salt.getBytes("UTF-8"));
hashValue = digest.digest();
} catch (NoSuchAlgorithmException e) {
Log.i(TAG, "Exception "+e.getMessage());
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return BasicUtil.byteArrayToHexString(hashValue);
}
我已經驗證了我的一個樣本印刷方法從SO和結果是好的。有人能告訴我這裏有什麼問題嗎?
只是爲了澄清 - 當我在iOS代碼中加密相同的值& salt時,返回的值與轉換網站給出的值相同。
我從鏈接的頁面獲得'010def5ed854d162aa19309479f3ca44dc7563232ff072d1c87bd85943d0e930'。你到底在幹什麼? – Grambot
而我得到'b0c3d371142251569cb39f81280baeb73d5ed6f0b177386f8436d166d4a3cd6e'怎麼樣?! – kaderud