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来管理队列?(安装和使用)  高性能网站服务器配置指南:安全稳定与高效建站核心方案