guava:计算hash(md5,sha256,crc...)真是方便

本文介绍了一个方便实用的Guava哈希工具类,演示了如何使用该工具类进行MD5、SHA256、SHA512及CRC32的计算。通过简单的示例代码,展示了不同哈希算法的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天找到了guava计算md5的工具类,用起来真是很方便,返回结果可以用toString()转为String,也可以用asBytes()转为字节数组。
生成sha256,sha512等也是同样的用法,只要在Hashing类调用对应的方法返回HashFunction对象就可以,很方便。
示例代码如下:

package net.gdface.facelog.client;

import static org.junit.Assert.*;

import org.junit.Test;

import com.google.common.hash.Hashing;


public class HashTest {

	@Test
	public void test() {
		String input = "hello, world";
		// 计算MD5
		System.out.println(Hashing.md5().hashBytes(input.getBytes()).toString());
		// 计算sha256
		System.out.println(Hashing.sha256().hashBytes(input.getBytes()).toString());
		// 计算sha512
		System.out.println(Hashing.sha512().hashBytes(input.getBytes()).toString());
		// 计算crc32
		System.out.println(Hashing.crc32().hashBytes(input.getBytes()).toString());

		System.out.println(Hashing.md5().hashUnencodedChars(input).toString());

	}

}

### 查找或下载指定版本的 Guava 库 当遇到 `Missing artifact com.google.guava:guava:jar:18.0` 的错误提示时,这通常意味着项目无法找到所需的 Guava 版本。对于希望查找或下载特定版本(如 24.0)的 Guava 库的情况,可以采取以下方法: #### 使用 Maven 中央仓库获取依赖项 Maven 是 Java 生态系统中最常用的构建工具之一,它允许开发者通过 POM 文件声明项目的依赖关系。为了确保能够成功下载并集成 Guava 24.0 到项目中,在 `pom.xml` 文件内应正确配置如下所示的内容[^1]。 ```xml <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>24.0-jre</version> </dependency> ``` 需要注意的是,针对不同环境下的应用(Java SE 或 Android),应当选用合适的分类器(classifier)。上述例子中的 `-jre` 表示该库适用于标准版 JVM 上运行的应用程序;如果目标平台为 Android,则可能需要移除此部分以适应更广泛的兼容性需求。 另外,考虑到某些情况下本地镜像站点可能存在同步延迟等问题,建议确认所使用的仓库地址是最新的,并且包含了必要的索引数据以便于快速定位资源位置。例如,可以通过添加更多可靠的远程存储库来提高成功率,如 JCenter 和 Maven Central Repository[^2]。 #### 配置 Gradle 构建脚本 对于采用 Gradle 进行管理的项目而言,可以在 `build.gradle` 文件里加入相应的依赖描述以及扩展可用的插件源列表,从而实现相同的效果。具体操作方式如下所示: ```groovy repositories { google() mavenCentral() } dependencies { implementation 'com.google.guava:guava:24.0-jre' } ``` 以上设置不仅限定了所需 Guava 库的具体版本号,同时也指明了可以从哪些地方尝试检索对应的二进制文件。这样做有助于避免因单一渠道故障而导致整个编译流程中断的风险。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10km

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值