我试图用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