[JAVA]数字摘要算法工具类——(Hamc)MD5/SHA1/SHA256/SHA512/PBKDF2

这篇博客介绍了如何在Java中实现数字摘要算法,包括MD5、SHA1、SHA256、SHA512以及PBKDF2。提供了API调用方式,并给出了精简版和完整版的JAVA代码示例,方便开发者参考和使用。
摘要由CSDN通过智能技术生成


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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值