java加密算法之MD5篇
字符串转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篇相关推荐
- java加密算法之AES篇
加密 字符串 public static String encode(String encodeKey,String content){try {KeyGenerator keygen= KeyGen ...
- java加密算法之base64篇
转码 String转码byte数组 public static byte[] encodeStringForByte(String source) {return source == null ? n ...
- java 和 c md5加密_Java与C++实现同样的MD5加密算法
1.Java版 package com.lyz.utils.common; import java.io.UnsupportedEncodingException; import java.secur ...
- 各种Java加密算法
各种Java加密算法 您的评价: 如基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要 ...
- java对密码进行加密的方法_如何在JAVA中使用MD5加密对密码进行加密
如何在JAVA中使用MD5加密对密码进行加密 发布时间:2020-11-25 17:12:40 来源:亿速云 阅读:118 作者:Leah 本篇文章为大家展示了如何在JAVA中使用MD5加密对密码进行 ...
- java中使用MD5进行计算摘要
java中使用MD5进行加密 在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍工作中常用的 MD5加密算法,希望能抛砖 ...
- 对称密钥加密算法 对称轮数_选择Java加密算法第2部分–单密钥对称加密
对称密钥加密算法 对称轮数 抽象 这是涵盖Java加密算法的三部分博客系列的第2部分. 该系列涵盖如何实现以下功能: 使用SHA–512散列 AES–256 RSA–4096 这第二篇文章详细介绍了如 ...
- 非对称加密 公钥私钥_选择Java加密算法第3部分–公钥/私钥非对称加密
非对称加密 公钥私钥 抽象 这是涵盖Java加密算法的三部分博客系列的第3部分. 该系列涵盖如何实现以下功能: 使用SHA–512散列 使用AES–256的单密钥对称加密 RSA–4096 这第三篇文 ...
- 选择Java加密算法第2部分–单密钥对称加密
抽象 这是涵盖Java加密算法的三部分博客系列的第2部分. 本系列介绍如何实现以下目标: 使用SHA–512散列 AES–256 RSA–4096 这第二篇文章详细介绍了如何实现单密钥对称AES-25 ...
- 选择Java加密算法第3部分–公钥/私钥非对称加密
抽象 这是涵盖Java加密算法的三部分博客系列的第3部分. 本系列介绍如何实现以下目标: 使用SHA–512散列 使用AES–256的单密钥对称加密 RSA–4096 这第三篇文章详细介绍了如何实现非 ...
最新文章
- Jenkins简介及在Windows上的简单使用示例
- 如何从零开始开发一个实时联机游戏?
- open,write,read与fopen,fwrite,fread的区别
- 登录界面验证码的实现
- Linux系统格式化发fat32U盘密令,用diskpart命令格式化u盘为fat32的方法
- Android文本框实现搜索和清空效果
- Newtonsoft.Json日常用法
- 设计灵感|移动应用的可视化数据图表都是怎么设计的?
- 019-Spring Boot 日志
- 深度学习解决NLP问题:语义相似度计算
- Ubuntu 15.04 或更新版 更新源/Ubuntu 15.04 Vivid Vervet更新源已可用
- 微信小程序开发(后端 Java)
- 今天忙着画一个用例图,发现一个好用的工具
- SAP之FPM卷一:FPM是什么
- LTE小区搜索过程及SCH/BCH设计
- 硬核干货 | 基于Impala的网易有数BI查询优化总结
- 文件分片上传阿里云OSS
- iphone照片恢复至android,将照片从Android传输到iPhone的8种方法很容易
- 深度学习实战06-循环神经网络(RNN)实现股票预测
- 《Microduino实战》——3.4 重新认识软件与硬件
热门文章
- mysql 嵌入式linux版本_PHP专栏 : MySQL 数据库安装详细
- VOCALOID Job Plugin API 任务插件开发参考手册中文翻译 V1.0
- win10如何强制性关闭驱动数字签名
- 专业显卡测试软件 spec,AMD Radeon Pro WX8200专业图形显卡评测 对比Quadro P5000
- python课程计算bmi_Python第十一课 计算体脂率1.0
- 系统集成项目管理工程师(中级)考试心得经验
- php提取pdf中的文字,如何提取pdf中的文字内容 如何从pdf中提取文字
- w10计算机,打开win10自带计算器的多种方法
- 计算机平面设计考试试题及答案,最新国家开放大学电大专科《计算机平面设计(1)》网络课形考任务1及任务2答案...
- 2017ps计算机考证