2)获取第一部分的输出散列,将其与第二部分一起输入,并计算第二部分的散列
3)获得2)点的输出散列,将其与第三部分一起输入,并计算第三部分的散列
4)获得3)点的输出哈希值,将其与第四部分一起输入,并计算整个文件的哈希值。
我在google上搜索了很多,但没有找到类似的东西。我在MessageDigest中读到,通过使用方法update,我可以读取文件块,直到整个文件加载完毕,然后计算哈希值,但我不明白当我加载一个块时,它是否也计算它的哈希值(所以在我的情况下这会很好),还是只是一次加载,在文件全部加载完毕时计算哈希值。
您可能还希望查看java.security.DigestInputStream
来计算整个文件的哈希值。
如果您需要部分的中间散列,那么使用java.security.messageDigest.clone()
可能会很幸运;在一个部件之后,克隆用于哈希计算的MessageDigest实例,并在克隆上调用digest()
以获得部件之后的哈希值。
可以使用下一部分的字节更新原始MessageDigest实例。
问题内容: 我使用了hashlib(在Python 2.6 / 3.0中代替了md5),如果我打开一个文件并将其内容放入函数中,它就可以正常工作。 问题在于非常大的文件,其大小可能超过RAM大小。 如何在不将整个文件加载到内存的情况下获取文件的MD5哈希? 问题答案: 将文件拆分为8192字节的块(或128字节的其他倍数),然后使用连续将其送入MD5 。 这利用了MD5具有128字节摘要块(819
在时间并不重要的地方,比如在备份程序中,文件完整性是唯一需要的,有人会反对MD5来采用不同的算法,甚至建议采用不同的技术吗? 使用MD5会产生校验和吗?
问题内容: 我需要计算大文件(或其一部分)的SHA-256哈希。我的实现工作正常,但比C 的CryptoPP计算要慢得多(25分钟vs. 30 GB文件的10分钟)。我需要的是在C 和Java中执行时间相似,因此散列几乎可以同时准备好。我也尝试了Bouncy Castle的实现,但是它给了我相同的结果。这是我如何计算哈希值: 问题答案: 我的解释可能无法解决您的问题,因为它很大程度上取决于您的实际
问题内容: 我对加密/哈希知之甚少。 我必须对加密密钥进行哈希处理。Java中的示例是这样的… 现在,如果我错了,请纠正我,但是上面的代码使用MD5算法对字符串进行了哈希处理。 当我在C#中哈希相同的字符串时,我希望得到相同的结果。 我当前的C#代码看起来像这样… 但是末字节结果不匹配。 Java得到… C#得到… 我需要C#代码才能获得与Java代码相同的结果(不是相反),有什么想法吗? 谢谢。
问题内容: 如何编写此代码?我已经拥有了,我需要通过单击按钮将相应的md5哈希发送到服务器。 问题答案: 您可以使用crypto-js。 我也建议使用SHA256,而不是MD5。 要通过NPM安装crypto-js: 或者,您可以使用CDN并引用JS文件。 然后,要显示MD5和SHA256哈希,可以执行以下操作: 此处的工作示例JSFiddle 还有其他一些JS函数会生成哈希,如下所述。 http
本文向大家介绍java中加密的实现方法(MD5,MD2,SHA),包括了java中加密的实现方法(MD5,MD2,SHA)的使用技巧和注意事项,需要的朋友参考一下 java中加密的实现方法(MD5,MD2,SHA) 实例代码:注释都很清楚, 输出结果: 以上就是java 加密的实例,如疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!