0
我之前并不知道MessageDigest
这个类。我现在试图理解一段代码,文档对我没有多大帮助。Message Digest java
MessageDigest digest = Crypto.sha256();
digest.update(last.getSign());
byte[] SignHash = digest.digest(publicKey);
根据Java文档:使用给定byte[]
“消化”
“更新”更新此
MessageDigest
执行最后的更新,然后计算并返回最终散列这个MessageDigest的值。问题1:“使用给定字节[]更新”的真正含义是什么?
问题2:“摘要”执行的最终更新是什么?
以上是否意味着
SignHash=sha256(last.getSign()
concat(某些公钥的填充))?
因此,使用update(last.getSign()),Sign的字节会被附加到内部缓冲区中,所以很好。问题1明确。摘要输入参数的含义是什么?例如,在同一个对象上调用摘要()和摘要(字节[])可能有什么区别? – Paramar
第一个变体完成散列计算,第二个变体对给定字节进行最后一次更新,然后完成散列计算(快捷方式)。 – eitanfar