带有消息摘要的二进制哈希(非字符串)


byte[] input = {0xA,0xB,0xC,0xD};
MessageDigest md = MessageDigest.getInstance("SHA-256");
byte[] digest = md.digest(input);
for(int i=0; i<digest.length; i++) {
    System.out.format("%x",digest[i]&0xff);
}

我知道如何使用文本字符串获取哈希,但我没有得到此输入的正确摘要。正确的是:SHA256(0xABCD( = 123d4c7ef2d1600a1b3a0f6addc60a10f05a3495c9409f2ecbf4cc095d000a6b

byte[] input = {(byte)0xAB,(byte)0xCD};
MessageDigest md = MessageDigest.getInstance("SHA-256");
byte[] digest = md.digest(input);
for (int i=0; i < digest.length; i++) {
 sb.append(Integer.toString((digest[i] & 0xff) + 0x100, 16).substring(1));
}
System.out.println(sb.toString());

最新更新