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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring bean别名注解_java.lang.clonable是类

    spring bean别名注解_java.lang.clonable是类前言在spring容器中,允许通过名称或别名来获取bean,这个能力来自于顶层接口AliasRegistry,分析类下属的关系图,可以看到,几乎所有主要容器都直接或间接的实现了Alias

    2022年8月17日
    3
  • c#启动外部程序_winform程序自动更新

    c#启动外部程序_winform程序自动更新//class里面放入这段代码[DllImport(“shell32.dll”)]publicstaticexternintShellExecute(IntPtrhwnd,StringBuilderlpszOp,StringBuilderlpszFile,StringBuilderlpszParams,StringBuilderlpszDir,intFsShowCmd);//需要打开的地方插入此段代码ShellExecute(IntPtr.Zero,newStr

    2022年8月30日
    1
  • redis 乐观锁_什么时候用乐观锁

    redis 乐观锁_什么时候用乐观锁文章目录GeospatialHyperloglogBitmapsRedis事务悲观锁和乐观锁JedisSpringboot继承RedisGeospatial存储地理位置的数据结构应用场景朋友的定位,附近的人,打车距离计算Geospatial底层使用的是Zset127.0.0.1:6379> geoadd city 116.23 40.22 beijing 添加一个数据127.0.0.1:6379> geoadd city 121.47 31.23 shanghai 118.77

    2022年8月9日
    0
  • 哈希冲突原因「建议收藏」

    哈希冲突原因「建议收藏」哈希计算就是努力的把比较大的数据存放到相对较小的空间中。最常见的哈希算法是取模法。下面简单讲讲取模法的计算过程。比如:数组的长度是5。这时有一个数据是6。那么如何把这个6存放到长度只有5的数组中呢。按照取模法,计算6%5,结果是1,那么就把6放到数组下标是1的位置。那么,7就应该放到2这个位置。到此位置,哈斯冲突还没有出现。这时,有个数据是11,按照取模法,11%5=1,也等于1。那

    2022年6月18日
    35
  • 《内网安全攻防:渗透测试实战指南》读书笔记(三):隐藏通信隧道技术[通俗易懂]

    《内网安全攻防:渗透测试实战指南》读书笔记(三):隐藏通信隧道技术[通俗易懂]本篇继续阅读学习《内网安全攻防:渗透测试实战指南》,是第三章隐藏通信隧道技术,详细介绍了IPv6隧道、ICMP隧道、HTTPS隧道、SSH隧道、DNS隧道等加密隧道的使用方法,并对常见的SOCKS代理工具及内网上传/下载方法进行了解说

    2022年10月18日
    0
  • web后端语言_C/C++作为web后端语言的缺点

    web后端语言_C/C++作为web后端语言的缺点C/C++C语言虽然是非常贴近操作系统的语言,能和操作系统API很好的交互,但是C语言并没有现代化工程开发所需要的面向对象功能,当然也缺乏泛型之类的功能,如果以CGI的形式开发,那么缺点非常明显,这也是第二代后端平台兴起的原因。C++具有现代化工程开发所需要的各种功能,但是它同样有缺点:缺乏字符串处理,Web开发最主要的就是字符串的处理,所有的一切几乎都要和字符串打交道,但是C…

    2022年6月25日
    43

发表回复

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

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