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

时间:2022-06-23 20:45:28

今天找到了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());

}

}