Java生成MD5的两种方式

Java生成MD5的两种方式1原生的packagecom.pibigstar.common.utils;importjava.security.MessageDigest;/***MD5加密工具类*@authorpibigstar**/publicclassMyMD5Util{//盐,用于混交md5privatestaticfinalStringsl…

大家好,又见面了,我是你们的朋友全栈君。

1 原生的

package com.pibigstar.common.utils;

import java.security.MessageDigest;

/** * MD5加密工具类 * @author pibigstar * */
public class MyMD5Util { 
   
	//盐,用于混交md5
	private static final String slat = "&%5123***&&%%$$#@";
	public static String encrypt(String dataStr) { 
   
		try { 
   
			dataStr = dataStr + slat;
			MessageDigest m = MessageDigest.getInstance("MD5");
			m.update(dataStr.getBytes("UTF8"));
			byte s[] = m.digest();
			String result = "";
			for (int i = 0; i < s.length; i++) { 
   
				result += Integer.toHexString((0x000000FF & s[i]) | 0xFFFFFF00).substring(6);
			}
			return result;
		} catch (Exception e) { 
   
			e.printStackTrace();
		}

		return "";
	}

}

2 使用Spring中的工具类

package com.pibigstar.common.utils;

import org.springframework.util.DigestUtils;

import com.pibigstar.common.Constant;

/** * MD5工具类 * @author pibigstar * */
public class MD5Util { 
   
	//盐,用于混交md5
	private static final String slat = "&%5123***&&%%$$#@";
	/** * 生成md5 * @param seckillId * @return */
	public static String getMD5(String str) { 
   
		String base = str +"/"+slat;
		String md5 = DigestUtils.md5DigestAsHex(base.getBytes());
		return md5;
	}

}


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156731.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • websocket token认证(websocket协议格式)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mazaiting/article/details/78129542 JavaOkHttp使用本文使用eclipse编辑器,gradle依赖j…

    2022年4月17日
    70
  • 自定义一个注解来获取数据库的链接

    自定义一个注解来获取数据库的链接

    2021年7月10日
    89
  • WebService—规范介绍和几种实现WebService的框架介绍

    WebService—规范介绍和几种实现WebService的框架介绍一、关于SOA(面向服务架构)思想1、关于协议2、SOA的诞生SOA(Service-OrientedArchitecture)面向服务架构是一种思想,它将应用程序的不同功能单元通过中立的契

    2022年7月3日
    22
  • python range在for循环里的用法_PyThon range()函数中for循环用法「建议收藏」

    python range在for循环里的用法_PyThon range()函数中for循环用法「建议收藏」最初range和xrange都生成可以用for循环迭代的数字,然而在python2和3里实现方式并不完全一致,下面着重讲讲python3的range()函数for循环用法。1、函数语法range(start,stop,[step])2、参数说明start:可选参数,计数从start开始。默认是从0开始。例如range(5)等价于range(0,5)stop:必选参数,计数到st…

    2022年8月12日
    2
  • case label does not reduce to_class not loaded

    case label does not reduce to_class not loadedClassCastException出现原因解决办法出现原因抛出以指示代码已尝试将对象强制转换为它不是实例的子类。例如,以下代码生成一个ClassCastException:对象x=新整数(0);System.out.println((String)x);解决办法这种异常我也不知道有什么能够完全解决的办法,但是可以同instanseof来避免例如:Pet宠物类   Dog狗狗类(继承Pet)  Penguin企鹅类(继承Pet)  Dogdog=(Dog)pet

    2022年9月8日
    0
  • 超声波指纹识别和光学指纹识别_指纹识别不了怎么办

    超声波指纹识别和光学指纹识别_指纹识别不了怎么办三星2月20日将发表年度旗舰机种S系列,据市场传出,GalaxyS10的终端售价将比S9更高,突破1000美元大关,外界预测,S10将搭载高通专利的超声波(Ultra-Sonic)指纹识别,而A系列则将首度采用光学式(Optical)指纹识别技术。去年机种都还采用电容式方案的三星,今年依照不同等级机型采用不同方案,让超声波、光学、电容式同时并存在今年产品当中,这也让…

    2022年8月10日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号