【发布时间】:2012-11-19 02:56:15
【问题描述】:
我正在尝试使用1111 加密12345 作为盐使用SHA-256 编码,我得到的答案是:010def5ed854d162aa19309479f3ca44dc7563232ff072d1c87bd85943d0e930
与this site返回的值不同。
这里是sn-p的代码:
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 代码中加密相同的值和盐时,返回的值与转换站点给出的值相同。
【问题讨论】:
-
我从您链接的页面获得
010def5ed854d162aa19309479f3ca44dc7563232ff072d1c87bd85943d0e930。你到底输入了什么? -
我得到
b0c3d371142251569cb39f81280baeb73d5ed6f0b177386f8436d166d4a3cd6e怎么会?!