首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算文件的SHA512?

如何计算文件的SHA512?
EN

Stack Overflow用户
提问于 2015-07-30 19:14:01
回答 3查看 7.8K关注 0票数 2

我有一个文件,我需要计算它的SHA512值。我已经找到了很多为我提供服务的站点,但是我想用Java编程(嗯,Groovy,但这也是一样的)。

对于那些好奇的人,我正在运行甲骨文的TZUpdater工具,并将其指向一个本地文件。这需要一个包含该文件的SHA512值的文件。http://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-30 19:28:31

如果第三方库是一个公平的游戏,番石榴的Files.hash可以使它变得简单如

代码语言:javascript
复制
Files.hash(new File(fileName), Hashing.sha512()).toString();

...which也可能更高效;如果文件很大,就不需要像Files.readAllBytes解决方案那样一次性地存储在内存中。这还将以十六进制的形式输出适当的散列;如果需要,只需使用asBytes()而不是toString()

票数 6
EN

Stack Overflow用户

发布于 2015-07-30 19:21:21

可以使用以下代码段计算文件的SHA-512摘要:

代码语言:javascript
复制
MessageDigest.getInstance("SHA-512").digest(Files.readAllBytes(Paths.get("/path/file.txt")))

要使此代码工作,您将需要JDK7或更高版本。

注意:如果文件太大,无法在内存中使用,那么您可能应该按照建议使用番石榴。

票数 5
EN

Stack Overflow用户

发布于 2020-05-08 10:18:51

您还可以使用。

Maven存储库:https://mvnrepository.com/artifact/commons-codec/commons-codec

代码示例:

代码语言:javascript
复制
public static String calcSha512Hex(File file) throws FileNotFoundException, IOException {
    return org.apache.commons.codec.digest.DigestUtils.sha512Hex(new FileInputStream(file));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31732207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档