【Java】+MD5生成
亲测可用
1 package com.alipay.ipay.gn.commontool; 2 3 import org.testng.annotations.Test; 4 5 import java.math.BigInteger; 6 import java.security.MessageDigest; 7 import java.security.NoSuchAlgorithmException; 8 9 /** 10 * @author 11 * @version 1.0 12 * @time 2019/12/23 12:44 13 */ 14 public class MyMd5 { 15 16 /** 17 * 功能:获取指定字符串的MD5值 18 * 19 * @param plainText 原字符串内容 20 * @param returnLength 生成MD5值后 要返回的长度 21 * @return 22 */ 23 static String getMd5(String plainText, int returnLength) { 24 //定义一个字节数组 25 byte[] secretBytes = null; 26 try { 27 // 生成一个MD5加密计算摘要 28 MessageDigest md = MessageDigest.getInstance("MD5"); 29 //对字符串进行加密 30 md.update(plainText.getBytes()); 31 //获得加密后的数据 32 secretBytes = md.digest(); 33 } catch (NoSuchAlgorithmException e) { 34 throw new RuntimeException("没有md5这个算法!"); 35 } 36 //将加密后的数据转换为16进制数字 37 String md5code = new BigInteger(1, secretBytes).toString(16); 38 // 如果生成数字未满32位,需要前面补0 39 for (int i = 0; i < 32 - md5code.length(); i++) { 40 md5code = "0" + md5code; 41 } 42 // 返回指定长度 43 if (returnLength > 0 && returnLength <= 32) { 44 md5code = md5code.substring(0, returnLength); 45 } 46 return md5code; 47 } 48 49 @Test 50 public void testGetMd5() { 51 System.out.println(getMd5("1214545@437498247hdfkjsdhfkj发生口角的回复可视角度和罚款决定书", 4));// 43b0 52 } 53 }
如果忍耐算是坚强 我选择抵抗 如果妥协算是努力 我选择争取
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义