java中使用MD5加密的算法
MD5,全名Message Digest Algorithm 5,中文名为消息摘要算法第五版,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。以下是JAVA语言中使用MD5加密的工具类。
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Util { /** * 对字符串进行MD5摘要加密,返回结果与MySQL的MD5函数一致 * * @param input * @return 返回值中的字母为小写 */ public static String md5(String input) { if (null == input) { input = ""; } String result = ""; try { // MessageDigest类用于为应用程序提供信息摘要算法的功能,如MD5或SHA算法 MessageDigest md = MessageDigest.getInstance("MD5"); // 获取输入 md.update(input.getBytes()); // 获得产出(有符号的哈希值字节数组,包含16个元素) byte output[] = md.digest(); // 32位的加密字符串 StringBuilder builder = new StringBuilder(32); // 下面进行十六进制的转换 for (int offset = 0; offset < output.length; offset++) { // 转变成对应的ASSIC值 int value = output[offset]; // 将负数转为正数(最终返回结果是无符号的) if (value < 0) { value += 256; } // 小于16,转为十六进制后只有一个字节,左边追加0来补足2个字节 if (value < 16) { builder.append("0"); } // 将16位byte[]转换为32位无符号String builder.append(Integer.toHexString(value)); } result = builder.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return result; } // 测试 public static void main(String[] args) { String m1 = md5("123"); String m2 = md5("124"); String m3 = md5(""); System.out.println("m1=" + m1); System.out.println("m2=" + m2); System.out.println("m3=" + m3); } }
标签:
Java
【推荐】国内首个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 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统