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

来源:互联网 发布:wifi连网神器 mac 编辑:程序博客网 时间:2024/06/06 15:49

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