字符串转MD5

 public static String toMD5(String str) {MessageDigest messagedigest;try {messagedigest = MessageDigest.getInstance("MD5");messagedigest.update(str.getBytes("UTF-8"));return bufferToHex(messagedigest.digest()).toUpperCase();} catch (Exception e) {e.printStackTrace();}return null;
}

对象转MD5

public static String toMD5(Object obj) {String resultString = null;try {MessageDigest md = MessageDigest.getInstance("MD5");resultString = byteToString(md.digest(JsonUtils.toJson(obj).getBytes())).toUpperCase();} catch (NoSuchAlgorithmException ex) {ex.printStackTrace();}return resultString;
}

测试

public static void main(String[] args) {String str = toMD5("test");System.out.println("There is string md5 value :" + str);Map<String,Object> obj = new HashMap<>();obj.put("param1","param1");String object = toMD5(obj);System.out.println("There is object md5 value :" + object);
}

测试结果

全代码

public class MD5Utils {private static char md5Chars[] ={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd','e', 'f'};private final static String[] STR_DIGITS = {"0", "1", "2", "3", "4", "5","6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};private static String bufferToHex(byte bytes[]) {return bufferToHex(bytes, 0, bytes.length);}private static String bufferToHex(byte bytes[], int m, int n) {StringBuffer stringbuffer = new StringBuffer(2 * n);int k = m + n;for (int l = m; l < k; l++) {appendHexPair(bytes[l], stringbuffer);}return stringbuffer.toString();}private static void appendHexPair(byte bt, StringBuffer stringbuffer) {char c0 = md5Chars[(bt & 0xf0) >> 4];char c1 = md5Chars[bt & 0xf];stringbuffer.append(c0);stringbuffer.append(c1);}public static String toMD5(String str) {MessageDigest messagedigest;try {messagedigest = MessageDigest.getInstance("MD5");messagedigest.update(str.getBytes("UTF-8"));return bufferToHex(messagedigest.digest()).toUpperCase();} catch (Exception e) {e.printStackTrace();}return null;}public static String toMD5(Object obj) {String resultString = null;try {MessageDigest md = MessageDigest.getInstance("MD5");resultString = byteToString(md.digest(JsonUtils.toJson(obj).getBytes())).toUpperCase();} catch (NoSuchAlgorithmException ex) {ex.printStackTrace();}return resultString;}private static String byteToArrayString(byte bByte) {int iRet = bByte;if (iRet < 0) {iRet += 256;}int iD1 = iRet / 16;int iD2 = iRet % 16;return STR_DIGITS[iD1] + STR_DIGITS[iD2];}private static String byteToString(byte[] bByte) {StringBuffer sBuffer = new StringBuffer();for (int i = 0; i < bByte.length; i++) {sBuffer.append(byteToArrayString(bByte[i]));}return sBuffer.toString();}public static void main(String[] args) {String str = toMD5("test");System.out.println("There is string md5 value :" + str);Map<String,Object> obj = new HashMap<>();obj.put("param1","param1");String object = toMD5(obj);System.out.println("There is object md5 value :" + object);}
}

>>>源码下载链接>>>

java加密算法之MD5篇相关推荐

  1. java加密算法之AES篇

    加密 字符串 public static String encode(String encodeKey,String content){try {KeyGenerator keygen= KeyGen ...

  2. java加密算法之base64篇

    转码 String转码byte数组 public static byte[] encodeStringForByte(String source) {return source == null ? n ...

  3. java 和 c md5加密_Java与C++实现同样的MD5加密算法

    1.Java版 package com.lyz.utils.common; import java.io.UnsupportedEncodingException; import java.secur ...

  4. 各种Java加密算法

    各种Java加密算法 您的评价:           如基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要 ...

  5. java对密码进行加密的方法_如何在JAVA中使用MD5加密对密码进行加密

    如何在JAVA中使用MD5加密对密码进行加密 发布时间:2020-11-25 17:12:40 来源:亿速云 阅读:118 作者:Leah 本篇文章为大家展示了如何在JAVA中使用MD5加密对密码进行 ...

  6. java中使用MD5进行计算摘要

    java中使用MD5进行加密 在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍工作中常用的 MD5加密算法,希望能抛砖 ...

  7. 对称密钥加密算法 对称轮数_选择Java加密算法第2部分–单密钥对称加密

    对称密钥加密算法 对称轮数 抽象 这是涵盖Java加密算法的三部分博客系列的第2部分. 该系列涵盖如何实现以下功能: 使用SHA–512散列 AES–256 RSA–4096 这第二篇文章详细介绍了如 ...

  8. 非对称加密 公钥私钥_选择Java加密算法第3部分–公钥/私钥非对称加密

    非对称加密 公钥私钥 抽象 这是涵盖Java加密算法的三部分博客系列的第3部分. 该系列涵盖如何实现以下功能: 使用SHA–512散列 使用AES–256的单密钥对称加密 RSA–4096 这第三篇文 ...

  9. 选择Java加密算法第2部分–单密钥对称加密

    抽象 这是涵盖Java加密算法的三部分博客系列的第2部分. 本系列介绍如何实现以下目标: 使用SHA–512散列 AES–256 RSA–4096 这第二篇文章详细介绍了如何实现单密钥对称AES-25 ...

  10. 选择Java加密算法第3部分–公钥/私钥非对称加密

    抽象 这是涵盖Java加密算法的三部分博客系列的第3部分. 本系列介绍如何实现以下目标: 使用SHA–512散列 使用AES–256的单密钥对称加密 RSA–4096 这第三篇文章详细介绍了如何实现非 ...

最新文章

  1. Jenkins简介及在Windows上的简单使用示例
  2. 如何从零开始开发一个实时联机游戏?
  3. open,write,read与fopen,fwrite,fread的区别
  4. 登录界面验证码的实现
  5. Linux系统格式化发fat32U盘密令,用diskpart命令格式化u盘为fat32的方法
  6. Android文本框实现搜索和清空效果
  7. Newtonsoft.Json日常用法
  8. 设计灵感|移动应用的可视化数据图表都是怎么设计的?
  9. 019-Spring Boot 日志
  10. 深度学习解决NLP问题:语义相似度计算
  11. Ubuntu 15.04 或更新版 更新源/Ubuntu 15.04 Vivid Vervet更新源已可用
  12. 微信小程序开发(后端 Java)
  13. 今天忙着画一个用例图,发现一个好用的工具
  14. SAP之FPM卷一:FPM是什么
  15. LTE小区搜索过程及SCH/BCH设计
  16. 硬核干货 | 基于Impala的网易有数BI查询优化总结
  17. 文件分片上传阿里云OSS
  18. iphone照片恢复至android,将照片从Android传输到iPhone的8种方法很容易
  19. 深度学习实战06-循环神经网络(RNN)实现股票预测
  20. 《Microduino实战》——3.4 重新认识软件与硬件

热门文章

  1. mysql 嵌入式linux版本_PHP专栏 : MySQL 数据库安装详细
  2. VOCALOID Job Plugin API 任务插件开发参考手册中文翻译 V1.0
  3. win10如何强制性关闭驱动数字签名
  4. 专业显卡测试软件 spec,AMD Radeon Pro WX8200专业图形显卡评测 对比Quadro P5000
  5. python课程计算bmi_Python第十一课 计算体脂率1.0
  6. 系统集成项目管理工程师(中级)考试心得经验
  7. php提取pdf中的文字,如何提取pdf中的文字内容 如何从pdf中提取文字
  8. w10计算机,打开win10自带计算器的多种方法
  9. 计算机平面设计考试试题及答案,最新国家开放大学电大专科《计算机平面设计(1)》网络课形考任务1及任务2答案...
  10. 2017ps计算机考证