java 散列哈希加密

Spring DigestUtils

spring-core DigestUtils 只提供了md5加密

    public static void main(String[] args){
 		String str = "md5加密";
        String md5Hex = DigestUtils.md5DigestAsHex(str.getBytes());    
    }
MessageDigest
String str = "加密";
//通过传入md5 sha1 等参数获取MessageDigest对象
MessageDigest digest = MessageDigest.getInstance("MD5");  
digest.update(str.getBytes());  
byte[] bytes = digest.digest();  
//加密完为字节数组,然后转化为字符串  
String result = convertByte2String(bytes);  

//commons-codec 中的实现方式
private String convertByte2String(byte[] byteResult) {
      char[] hexDigits= new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
      int l = byteResult.length;
      char[] out = new char[l << 1];
      int i = 0;
      for(int var5 = 0; i < l; ++i) {
 		//out[index++] = hexDigits[(byteResult[i] >>> 4) & 0xf];
		//out[index++] = hexDigits[byteResult[i] & 0xf];
		out[var5++] = hexDigits[(240 & byteResult[i]) >>> 4];
		out[var5++] = hexDigits[15 & byteResult[i]];
      }
      return new String(out);
 }
commons-codec

引入pom依赖

<!--spring boot 已经指定version不用再添加 -->
<dependency>
 	<groupId>commons-codec</groupId>
  	<artifactId>commons-codec</artifactId>
</dependency>

commons-codec 通过封装MessageDigest 直接提供了md5 sha1 sha256 sha512 等加密方法

public static void main(String[] args){
	String str = "加密";
	String md5Hex = DigestUtils.md5Hex(str.getBytes());
	String sha1Hex = DigestUtils.sha1Hex(str.getBytes());
	String sha256Hex = DigestUtils.sha256Hex(str.getBytes());
	String sha512Hex = DigestUtils.sha512Hex(str.getBytes());
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值