返回顶部
首页 > 资讯 > 精选 >Java实现MD5消息摘要算法
  • 102
分享到

Java实现MD5消息摘要算法

javamd5摘要 2023-05-31 15:05:50 102人浏览 泡泡鱼
摘要

首先,必须要强调的一点,MD5不是加密算法,而是消息摘要算法,具有不可逆性。字符串通过MD5处理后会生成128位的二进制串。我们通常会将其转化为16进制串,用于登录密码验证。加密算法与消息摘要算法区别: 加密算法具有相应地解密算法,通过加

首先,必须要强调的一点,MD5不是加密算法,而是消息摘要算法,具有不可逆性。字符串通过MD5处理后会生成128位的二进制串。我们通常会将其转化为16进制串,用于登录密码验证。

加密算法与消息摘要算法区别:

  1. 加密算法具有相应地解密算法,通过加密算法对信息进行加密后,采用解密算法能够获取到原始数据。
  2. 采用摘要算法得到的数据是不完整的,无法反向获取到原始数据。

下面直接贴代码:

import java.security.MessageDigest;//Java类库已经支持MD5消息摘要public class MD5{  private MD5(){    System.out.println("采用MD5消息摘要算法");  }  public static String getMD5Code(String message){    String md5Str = null;    try{      MessageDigest md = MessageDigest.getInstance("MD5");      //message.getBytes()方法是得到一个操作系统默认的编码格式的字节数组。不同的操作系统以及不同的编码格式会返回不同长度的byte型数组。      //md.digest()方法获得密文完成哈希计算,产生128位的二进制串,并且8位一组分成16个byte类型的数值。      byte[] md5Bytes = md.digest(message.getBytes());      //将16个数值都转换成两位16进制的数(161->A1,1->01),因此消息摘要完成后,md5Str是长度为32位的字符串      md5Str = BytesToHex(md5Bytes);    }catch(Exception e){      e.printStackTrace();    }    return md5Str;  }  public static String BytesToHex(byte[] bytes){    StringBuffer s = new StringBuffer();    for(int i=0;i<bytes.length;i++){      //如果数值小于16且大于0,如3,将其转换为03      if(bytes[i]>=0 && bytes[i] <= 15)        s.append("0");      //bytes[i] & 0xFF保证了如果bytes[I]是负数,那么结果仍为两位16进制数;      //toHexString()用于将参数以16进制的字符串形式返回,例如toHexString(241)返回值是字符串f1      s.append(Integer.toHexString(bytes[i] & 0xFF);    }    return s.toString();  }  public static void main(String args[]){    System.out.println(getMD5Code("shanghai"));    System.out.println(getMD5Code("beijing"));    System.out.println(getMD5Code("shanghai"));  }}

--结束END--

本文标题: Java实现MD5消息摘要算法

本文链接: https://lsjlt.com/news/226648.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java实现MD5消息摘要算法
    首先,必须要强调的一点,MD5不是加密算法,而是消息摘要算法,具有不可逆性。字符串通过MD5处理后会生成128位的二进制串。我们通常会将其转化为16进制串,用于登录密码验证。加密算法与消息摘要算法区别: 加密算法具有相应地解密算法,通过加...
    99+
    2023-05-31
    java md5 摘要
  • 怎么实现一个HmacMD5消息摘要算法
    怎么实现一个HmacMD5消息摘要算法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。算法实现:import javax.crypto.KeyGenerator;&...
    99+
    2023-05-31
    hmacmd5 acm
  • Java 实现 MD5 加密算法
    1. MD5 加密算法 1.1 MD5 算法介绍 MD5 消息摘要算法,英文:MD5 Message-Digest Algorithm ,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节...
    99+
    2023-09-06
    java 开发语言 算法
  • Java MD5算法如何实现
    本文小编为大家详细介绍“Java MD5算法如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java MD5算法如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。MD5加密简介哈希...
    99+
    2023-07-02
  • java 实现MD5加密算法的简单实例
    java 实现MD5加密算法的简单实例实现代码:import java.security.NoSuchAlgorithmException; public class MD5HashUtil { private MessageDig...
    99+
    2023-05-31
    java md5 加密算法
  • C# md5 算法实现代码
    MD5的全称是message-digest algorithm 5 信息-摘要算法,在90年代初由mit laboratory for computer science和r...
    99+
    2022-11-13
    C# md5 算法 C# md5 C#算法
  • Java C++实现相同MD5加密算法的方式
    目录Java与C++实现相同的MD5加密算法1、Java版2、C++代码3、运行效果 Java与C++实现相同的MD5加密算法 1、Java版 package com.lyz.u...
    99+
    2024-04-02
  • VBS如何实现MD5加密算法
    这篇文章主要介绍了VBS如何实现MD5加密算法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 代码如下:Private Const BITS_TO_A_BYTE =...
    99+
    2023-06-08
  • java发送kafka事务消息的实现方法
    前言 事务对java开发的同学来说并不陌生,我们使用事务的目的在于避免产生重复数据或者说利用数据存储中间件的事务特性确保数据的精准性,比如大家熟悉的mysql,我们在程序开始时,只需...
    99+
    2024-04-02
  • Java实现Redis延时消息队列
    目录什么是延时任务 延时任务的特点 实现思路: 代码实现 1.消息模型2.RedisMq 消息队列实现类3.消息生产者 4.消息消费者 5. 消息执接口 6. 任务类型的实现类:可以...
    99+
    2024-04-02
  • Java实现消息轰炸的方法 附带源码
    1. 用到的技术 ArrayList Robot (java中自动控制电脑输入设备的封装类) swing awt 先写个最简单的Demo然后逐渐完善。 2. 使用Robot 自动发送...
    99+
    2024-04-02
  • window,macOS,Linux计算文件MD5值,java实现例子
    打开命令行工具。在Windows系统中,可以使用"cmd"命令打开命令行窗口;在macOS或Linux系统中,可以使用"Terminal"打开终端。 进入文件所在的目录。使用"cd"命令进入文件所在的目录。 计算文件的MD5哈希值。在...
    99+
    2023-09-14
    linux 运维 windows java
  • java如何实现消息提醒功能
    Java可以通过以下几种方式实现消息提醒功能:1. 使用弹窗:可以使用Java的Swing或JavaFX库来创建弹窗,当需要提醒用户...
    99+
    2023-08-08
    java
  • redis实现消息队列的方法
    这期内容当中的小编将会给大家带来有关redis实现消息队列的方法,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。消息队列,Message Queue,常用于解决并发系统中的资源一致性问题...
    99+
    2024-04-02
  • java中建立0-10m的消息(字符串)实现方法
    直接用StringBuilder,它的append方法方便快速构建字符串。StringBuilder sb1=new StringBuilder();for(int i=0;i<1024*1024*10;i++){ sb1.appe...
    99+
    2023-05-31
    java 字符串 消息
  • java 实现微信公众号消息推送
    注册微信公众号 这里主要用测试账号来演示:测试账号注册地址正式账号注册地址:微信公众平台 设置消息模板 可参考微信公众号文档:微信公众号文档 模板根据需求设置(注意:参数长度不能超出微信规定,否则...
    99+
    2023-09-22
    java 微信 开发语言
  • Java消息队列的简单实现代码
    今天看到我们的招聘信息有对消息队列有要求,然后就思索了一翻,网上一搜一大堆。我可以举个小例子先说明应用场景假设你的服务器每分钟的处理量为200个,但客户端再峰值的时候可能一分钟会发1000个消息给你,这时候你就可以把他做成队列,然后按正常有...
    99+
    2023-05-31
    java 消息队列 ava
  • Java应用层协议WebSocket实现消息推送
    目录前言浏览器端服务器端前言   大部分的web开发者,开发的业务都是基于Http协议的:前端请求后端接口,携带参数,后端执行业务代码,再返回结果给前端。作者参与...
    99+
    2023-02-22
    Java WebSocket Java WebSocket消息推送
  • MD5算法原理及C#和JS实现的方法是什么
    本篇内容主要讲解“MD5算法原理及C#和JS实现的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MD5算法原理及C#和JS实现的方法是什么”吧!一、简介MD5 是哈希算法(散列算法)的...
    99+
    2023-07-05
  • java实现web实时消息推送的七种方案
    目录引言什么是消息推送(push)短轮询长轮询iframe流SSE (我的方式)MQTTWebsocket自定义推送Github地址引言 做了一个小破站,现在要实现一个站内信web消...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作