直接上代码
网上有很多的案例只讲了sha的实现,这里重点将的是sha3的实现,如果你想了解原理百度上有很多,这里只将怎么去实现,大神可以忽略,主要是给小白讲的
1.首先maven中添加依赖包,一个坑点版本最好是用1.56的,1.50的计算出来不正确
<!-- 加密解密需要的jar包 -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-ext-jdk15on</artifactId>
<version>1.56</version>
</dependency>
2.加入代码
package com.webo.fw.util;
import org.bouncycastle.crypto.Digest;
import org.bouncycastle.crypto.digests.SHA3Digest;
import org.bouncycastle.util.encoders.Hex;
public class UtilSHA {
// SHA3-224 算法
public static String sha3224(String password) {
byte[] bytes = password.getBytes();
Digest digest = new SHA3Digest(224);
digest.update(bytes, 0, bytes.length);
byte[] rsData = new byte[digest.getDigestSize()];
digest.doFinal(rsData, 0);
return Hex.toHexString(rsData);
}
}
3.直接调用,如果你想用SHA3-256、SHA3-384、SHA3-512算法的只需要将代码中的224替换即可。