Groovy 基于Groovy实现MD5加密
(资料图片)
groovy 3.0.7
代码实现实现方式1import 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); // 52d4eb68f09f4a8eae0b0b02adc748f3md5Str = 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"}; // 十六进制的字符
实现方式2import 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); // 52d4eb68f09f4a8eae0b0b02adc748f3md5Str = md5Str.substring(8, 24); // 获取16位小写md5值println(md5Str); // f09f4a8eae0b0b02
实现方式3import 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); // 52d4eb68f09f4a8eae0b0b02adc748f3md5Str = md5Str.substring(8, 24); // 获取16位小写md5值println(md5Str); // f09f4a8eae0b0b02
===提示文字过少,占位行===提示文字过少,占位行
下一篇:最后一页
X 关闭
-
2021年国家开发银行全年发放贷款5948亿元支持乡村振兴
2021年,国家开发银行全年发放贷款5948亿元,重点支持产业发展、易地搬迁后续发展、东西部协作、农业现代化、农村基础设施等重点领域发展,
-
国家知识产权局出台推动知识产权高质量发展年度工作指引(2022)
国家知识产权局近日印发《推动知识产权高质量发展年度工作指引(2022)》(以下简称《工作指引》),提出到2022年底,知识产权强国建设工作机制
-
中国六部门印发加强中央财政衔接推进乡村振兴补助资金使用管理的指导意见
21日,财政部、农业农村部、国家乡村振兴局、国家发展改革委、国家民委、国家林草局六部门印发《关于加强中央财政衔接推进乡村振兴补助资金
-
冷空气将影响中东部地区 华北黄淮大气扩散条件较差
中新网12月15日电 据中央气象台网站消息,昨日8时至今日6时,新疆北部降小到中雪,木垒局地10毫米。今晨,河北南部、山东中西部、河南