Groovy 基于Groovy实现MD5加密

这篇具有很好参考价值的文章主要介绍了Groovy 基于Groovy实现MD5加密。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

groovy 3.0.7

代码实现

实现方式1

import java.security.MessageDigest;

public class MD5Utils {
	public final static String MD5(String s) {
		char[] hexChars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']; // 十六进制的字符
		try {
			byte[] byteData = s.getBytes("utf-8"); // 获取待加密字符的字节表示
			MessageDigest md5 = MessageDigest.getInstance("MD5"); //指定加密方式,获取加密对象
			byte[] digest = md5.digest(byteData); // 加密
			StringBuffer sb = new StringBuffer();
			// 处理成十六进制的字符串(通常)			
			for (byte b : digest) {
                sb.append(hexChars[(b >> 4) & 15]);
                sb.append(hexChars[b & 15]);
            }            
			 
			return new String(sb);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
}


String md5Str = MD5Utils.MD5("2023, hello, mr授客"); // 获取32位小写md5值
println(md5Str); // 52d4eb68f09f4a8eae0b0b02adc748f3

md5Str = md5Str.substring(8, 24); // 获取16位小写md5值
println(md5Str); // f09f4a8eae0b0b02

说明:如果在JAVA中运行,则需要修改

char[] hexChars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']; // 十六进制的字符

char[] hexChars = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; // 十六进制的字符

实现方式2

import java.security.MessageDigest;

public class MD5Utils {
	public final static String MD5(String s) {
		char[] hexChars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];  
		try {
			byte[] byteData = s.getBytes("utf-8"); 
			MessageDigest md5 = MessageDigest.getInstance("MD5"); 
			byte[] digest = md5.digest(byteData); 
			return new BigInteger(1, digest).toString(16);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
}

String md5Str = MD5Utils.MD5("2023, hello, mr授客"); // 获取32位小写md5值
println(md5Str); // 52d4eb68f09f4a8eae0b0b02adc748f3

md5Str = md5Str.substring(8, 24); // 获取16位小写md5值
println(md5Str); // f09f4a8eae0b0b02

实现方式3

import java.security.MessageDigest;

public class MD5Utils {
	public final static String MD5(String s) {
		char[] hexChars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']; // 十六进制的字符
		try {
			byte[] byteData = s.getBytes("utf-8");
			MessageDigest md5 = MessageDigest.getInstance("MD5");
			byte[] digest = md5.digest(byteData);
			return new BigInteger(1, digest).toString(16);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
}


String md5Str = MD5Utils.MD5("2023, hello, mr授客"); // 获取32位小写md5值
println(md5Str); // 52d4eb68f09f4a8eae0b0b02adc748f3

md5Str = md5Str.substring(8, 24); // 获取16位小写md5值
println(md5Str); // f09f4a8eae0b0b02

===提示文字过少,占位行
===提示文字过少,占位行文章来源地址https://www.toymoban.com/news/detail-463733.html

到了这里,关于Groovy 基于Groovy实现MD5加密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java 实现 MD5 加密算法

    1.1 MD5 算法介绍 MD5 消息摘要算法,英文:MD5 Message-Digest Algorithm ,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。 MD5 是单向加密不可逆的,也就是常说的非对称加密,常用于用户密码的加密,这样即使密

    2024年02月09日
    浏览(54)
  • JavaScript实现MD5加密的6种方式

    关于MD5: MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,也可称为插件。 在本案例中 可以看到MD5共有6种加密方法: 1, hex_md5(value) 2, b64_md5(value) 3, str_md5(value) 4, hex_hmac_md5(key, data) 5, b64_hmac_md5(key, data) 6, str_hmac_md5(key, data)   测试

    2024年02月05日
    浏览(55)
  • JavaScript实现MD5 加密的6中方式

      关于MD5: MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,也可称为插件。 在本案例中 可以看到MD5共有6种加密方法: 1, hex_md5(value) 2, b64_md5(value) 3, str_md5(value) 4, hex_hmac_md5(key, data) 5, b64_hmac_md5(key, data) 6, str_hmac_md5(key, data) 测试

    2024年02月14日
    浏览(47)
  • 基于hutool的MD5加密以及hutool的一些常用工具

    直接上干货! 第一步:添加依赖 maven 在项目的pom.xml的dependencies中加入以下内容: 如果不是maven项目,需要去官网下载jar包,安装到项目中, hutool官网:hutool官网地址 第二步:使用 第一种:String encode = DigestUtil.md5Hex(“abcdefg”); 第二种:String encode =SecureUtil.md5(“abcdefg”); 其它

    2024年03月27日
    浏览(57)
  • SpringBoot实现Md5对数据库数据加密

            因为开学等各种原因,导致更新的速度越来越慢,当然在此期间也进行了一些其他技术的学习,今天给大家带来的就是我们的通过MD5进行数据库加密。         MD5消息摘要算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要

    2024年02月09日
    浏览(51)
  • JMeter处理接口签名之BeanShell实现MD5加密

    项目A需要给项目B提供一个接口,这个接口加密了,现在需要测试这个接口,需要怎么编写脚本呢?实现接口签名的方式有两种: BeanShell实现MD5加密和 函数助手实现MD5加密, 之前已经分享过了函数助手实现MD5加密 ,今天就来分享下BeanShell实现MD5加密。 一、接口信息 POST /a

    2024年02月14日
    浏览(51)
  • Android下实现字符串或文件的MD5加密

    MD5-信息摘要算法简单介绍 MD5 (Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。 计算出来的MD5值是有可能重复的,但是概率很低。 加密过程几乎不可逆,除非维护一个庞大的Key-Val

    2024年02月15日
    浏览(47)
  • uniapp使用md5加密 js使用md5加密

    文章的初衷 最近项目中使用了md5加密,为了方便还不明白怎么使用的朋友参考查阅,当然也为了方便博主再次使用所写 md5加密说明 可在不同平台使用 因为使用方法是js方法去调用的所以不局限于某个平台 我这里使用的方式是登录的时候进行加密,具体其他的使用方式,朋友们自

    2024年02月07日
    浏览(68)
  • C#集成数据加密算法,包含DES、RSA、Base64、SHA、MD5算法,轻松实现数据加密解密需求

    在需要使用配置文件的工控软件中,往往需要在配置文件和数据库中对一些数据加密,即对一串数据进行加密算法后输出复杂符号和字符的形式,让非相关人员无法识别原有数据,从而对数据或数据库进行相应的保护,这往往也是公司安全部门的基本要求。 网上写加密算法的

    2024年02月03日
    浏览(79)
  • Groovy动态加载Java代码的使用方法和工具类

    你是否遇到过:线上环境复杂,发包申请复杂,代码稳健性差,或者某段代码需要视线上运行情况而更改的!又或者类似解析脚本经常变动,通配符优化等等!更新、打包、发布申请、然后再发布… Groovy则提供了相关的动态加载能力来解决这些问题,并且简单易懂,非常好用

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包