java 实现MD5加密算法的简单实例
发布时间 - 2026-01-11 03:04:50 点击率:次java 实现MD5加密算法的简单实例

实现代码:
import java.security.NoSuchAlgorithmException;
public class MD5HashUtil
{
private MessageDigest md = null;
private static MD5HashUtil md5 = null;
private static final char[] hexChars ={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
/**
* Constructor is private so you must use the getInstance method
*/
private MD5HashUtil() throws NoSuchAlgorithmException
{
md = MessageDigest.getInstance("MD5");
}
/**
* This returns the singleton instance
*/
public static MD5HashUtil getInstance()throws NoSuchAlgorithmException
{
if (md5 == null)
{
md5 = new MD5HashUtil();
}
return (md5);
}
public static String hashCode(String dataToHash) throws NoSuchAlgorithmException{
return getInstance().hashData(dataToHash.getBytes());
}
public static String hashCode(byte[] dataToHash) throws NoSuchAlgorithmException{
return getInstance().hashData(dataToHash);
}
public String hashData(byte[] dataToHash) {
return hexStringFromBytes((calculateHash(dataToHash))).toLowerCase();
}
private byte[] calculateHash(byte[] dataToHash)
{
md.update(dataToHash, 0, dataToHash.length);
return (md.digest());
}
public String hexStringFromBytes(byte[] b)
{
String hex = "";
int msb;
int lsb = 0;
int i;
// MSB maps to idx 0
for (i = 0; i < b.length; i++)
{
msb = ((int)b[i] & 0x000000FF) / 16;
lsb = ((int)b[i] & 0x000000FF) % 16;
hex = hex + hexChars[msb] + hexChars[lsb];
}
return(hex);
}
public static void main(String args[]) throws NoSuchAlgorithmException
{
String string = "my name is zhangli";
System.out.println(string);
System.out.println(hashCode(string));
}
}
如上代码为java语言实现md5加密算法,输出为加密后的密文!
通常将加密后的密文保存在数据库中,如果需要比较只比较他们的用md5加密过后的密文。
同时,md5加密算法是不可逆的,破解的难度很高。
以上就是java MD5加密算法的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# java
# MD5加密算法
# 实现MD5加密算法的实例
# java实现MD5加密算法的实例代码
# java加密算法分享(rsa解密、对称加密、md5加密)
# java开发之MD5加密算法的实现
# java不可逆加密算法之md5加密算法使用示例
# Java实现MD5加密算法方法例子
# 他们的
# 如有
# 很高
# 希望能
# 谢谢大家
# 数据库中
# 疑问请
# hexChars
# Constructor
# getInstance
# char
# static
# final
# method
# return
# String
# hashCode
# instance
# throws
# returns
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
怎样使用JSON进行数据交换_它有什么限制
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
Laravel观察者模式如何使用_Laravel Model Observer配置
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
Laravel如何实现API版本控制_Laravel版本化API设计方案
如何用wdcp快速搭建高效网站?
Laravel如何与Inertia.js和Vue/React构建现代单页应用
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Laravel怎么实现模型属性的自动加密
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
简单实现jsp分页
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
如何快速搭建FTP站点实现文件共享?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
如何用IIS7快速搭建并优化网站站点?
Python并发异常传播_错误处理解析【教程】
简历没回改:利用AI润色让你的文字更专业
Thinkphp 中 distinct 的用法解析
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
如何快速启动建站代理加盟业务?
Laravel如何实现API速率限制?(Rate Limiting教程)
如何用已有域名快速搭建网站?
香港服务器部署网站为何提示未备案?
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
如何用虚拟主机快速搭建网站?详细步骤解析
如何快速上传自定义模板至建站之星?
Laravel如何实现用户密码重置功能?(完整流程代码)
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
长沙做网站要多少钱,长沙国安网络怎么样?
韩国服务器如何优化跨境访问实现高效连接?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
在线制作视频的网站有哪些,电脑如何制作视频短片?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何撰写建站申请书?关键要点有哪些?
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
微信小程序 input输入框控件详解及实例(多种示例)
文字头像制作网站推荐软件,醒图能自动配文字吗?
如何快速搭建自助建站会员专属系统?
如何用免费手机建站系统零基础打造专业网站?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
Laravel如何配置Horizon来管理队列?(安装和使用)
高性能网站服务器配置指南:安全稳定与高效建站核心方案

