文章目录
API调取
方法 | 补充说明 |
---|---|
getMD5 | 获得MD5摘要 |
getSHA1 | 获得SHA1摘要 |
getSHA256 | 获得SHA256摘要 |
getSHA512 | 获得SHA512摘要 |
getHmacMD5 | 获得HmacMD5摘要 |
getHmacSHA1 | 获得HmacSHA1摘要 |
getHmacSHA256 | 获得HmacSHA256摘要 |
getHmacSHA512 | 获得HmacSHA512摘要 |
getPBKDF2 | 默认迭代54次,产生32位密钥 |
getRandomSalt | 获得一个定长的盐 |
注意:
- 不适用于SHA384等非 2 i 2^i 2i长度的方法。如有需要,请重写
toHex()
方法- 默认加盐方式为
"msg"+"salt"
,如需自定义请重写addSalt
方法- 精简版代码中只包含MD5相关算法,可以参照该方法填充其它数字摘要算法。参考此处:完整摘要算法工具类Java代码封装,或者此处备份地址
精简版的JAVA代码
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
import javax.xml.bind.DatatypeConverter;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.security.spec.KeySpec;
public class MDBuilder {
// 散列算法
public static String getMD5(String msg, String salt){
return MDBuilder.buildMD