`
573842281
  • 浏览: 43888 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中获取md5值的两种方法

阅读更多
Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,是一种比较常用的哈希算法。

java中可以用两种方法实现,我们先说麻烦一点的,代码:

public class md5_test {
//MD5的字符串常量
private final static String[] hexDigits = { "0", "1", "2", "3", "4",
   "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
public static void main(String[] args) {
   // TODO Auto-generated method stub
   try {
    MessageDigest messageDigest= MessageDigest.getInstance("MD5");
    System.out.println(byteArrayToHexString(messageDigest.digest("baidu.com".getBytes())));
   } catch (NoSuchAlgorithmException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
 

}
private static String byteArrayToHexString(byte[] b) {
   StringBuffer resultSb = new StringBuffer();
   for (int i = 0; i < b.length; i++) {
    resultSb.append(byteToHexString(b[i]));
   }
   return resultSb.toString();
}

/** 将一个字节转化成十六进制形式的字符串 */
private static String byteToHexString(byte b) {
   int n = b;
   if (n < 0)
    n = 256 + n;
   int d1 = n / 16;
   int d2 = n % 16;
   return hexDigits[d1] + hexDigits[d2];
}
}

下面是简单的,但是需要导入一个jar包:commons-codec,比如我用的这个commons-codec-1.4.jar代码:

import org.apache.commons.codec.digest.DigestUtils;

public class ToMain {
public static void main(String[] args) {
   System.out.println(DigestUtils.md5Hex("baidu.com"));
}

}
分享到:
评论

相关推荐

    解决java 与C# MD5 不一致问题 代码

    本文将详细介绍如何解决Java与C#中MD5哈希值不一致的问题,并提供相应的代码示例。 #### 一、MD5算法简介 MD5(Message-Digest Algorithm 5)是RSA数据安全公司设计并发布的一种散列函数,它能够接收任意长度的...

    获取目录下所有文件和文件夹,并计算其MD5值,两个文件夹比较,得出被篡改的目录路径

    然后,通过比较这两个哈希表,找出只在一个文件夹中存在的元素,以及MD5值不匹配的文件,这些就是被篡改的文件或目录。这个过程可能涉及到深度优先搜索或广度优先搜索,具体取决于比较策略。 在实际应用中,这个...

    使用java获取md5值的两种方法

    在本文中,我们将探讨两种不同的Java方法来计算字符串的MD5值。 首先,我们来看一下不依赖外部库的原始实现。这种方法稍微复杂一些,因为它涉及到对MD5算法的直接操作。核心是使用Java的`java.security....

    java的md5加密解密

    1. **获取MD5实例**:通过`MessageDigest.getInstance("MD5")`获取MD5算法的`MessageDigest`对象。 2. **更新消息**:使用`update`方法更新消息摘要。 3. **计算散列值**:调用`digest`方法获取散列值。 4. **转换为...

    JAVA实现MD5算法.rar

    例如,`MessageDigest.getInstance("MD5")`可以获取MD5的实例,然后调用`digest()`方法处理字符串,最后将得到的字节数组转换为16进制表示的字符串。 这个项目中的MD5Util类可能还包含了其他辅助方法,如将字节数组...

    java实现MD5加密算法

    总结,Java实现MD5加密算法主要是通过`java.security.MessageDigest`类,经过`getInstance("MD5")`获取MD5实例,然后使用`digest()`和`update()`方法处理数据,最终将二进制摘要转换为十六进制字符串。尽管MD5的安全...

    Md5.java.rar_MD5 JAVA_MD5.ja_java md5_md5_md5 java realization

    2. 初始化MD5实例:通过`MessageDigest.getInstance("MD5")`获取MD5实例。 3. 更新数据:使用`digest.update()`方法添加需要哈希的字节数据。 4. 计算哈希值:调用`digest.digest()`得到16字节的哈希结果。 5. 转换...

    JAVA中MD5加密

    这段代码首先获取MD5算法的`MessageDigest`实例,然后对输入字符串进行字节编码,接着调用`digest()`方法计算哈希值。计算得到的字节数组转换为16进制字符串,便于人类阅读和比较。 在网页传输中,服务器在发送数据...

    jar包MD5加密包含用法

    2. **获取MD5实例**:通过`MessageDigest`类的静态方法`getInstance()`获取MD5实例。 ```java MessageDigest md = MessageDigest.getInstance("MD5"); ``` 3. **更新数据**:使用`update()`方法将需要加密的数据...

    java md5加密 解密

    但有时我们可能需要对比两个MD5值是否相同,以确认原始数据是否一致。例如,通过比较文件的MD5值,我们可以判断文件是否被篡改。 4. **碰撞问题**:MD5的安全性在近年来受到了挑战,因为已经发现了一些MD5碰撞(即...

    md5java代码+md5工具

    它们通常具有用户友好的图形界面,方便非程序员快速获取MD5值。在实际操作中,你可以通过命令行窗口运行这个程序,例如`CalcMD5.exe C:\path\to\file.txt`,它会返回`file.txt`的MD5摘要。 在安全领域,MD5的弱点...

    md5 java 代码

    这里使用`MessageDigest.getInstance()`方法获取MD5算法的消息摘要实例。 3. **更新消息摘要**: ```java mdTemp.update(strTemp); ``` 使用`update`方法对输入的字节数组进行预处理,这是计算哈希值的必要...

    JAVA中MD5加密密码算法

    2. **创建MD5实例**:使用`MessageDigest.getInstance("MD5")`来获取MD5的实例。 ```java MessageDigest md = MessageDigest.getInstance("MD5"); ``` 3. **更新数据**:使用`digest.update()`方法将需要加密的字符...

    使用 Java 生成 MD5 编码

    在这个方法中,我们首先获取到 MD5 实例,然后将输入字符串转换为字节数组,通过 `digest()` 方法计算哈希值。最后,我们将得到的字节数组转换为十六进制字符串。 使用这个方法,你可以轻松地为任何字符串生成 MD5 ...

    java 的MD5加密

    在这个例子中,`encode`方法接受一个字符串,通过`MessageDigest.getInstance("MD5")`获取MD5实例,然后对字符串进行字节运算并生成摘要。最终将摘要转换成十六进制字符串返回。 需要注意的是,由于MD5的碰撞攻击...

    MD5-java版

    在描述中提到的"MD5-java版"可能是一个简化版的MD5加密工具类,将上述步骤封装成一个易于调用的方法,用户只需提供待加密的字符串,就可以直接获取MD5摘要。"MD5-mask"可能是这个工具类的源代码文件,通过查看这个...

    md5 java 应用

    例如,下载大文件时,服务端会提供文件的MD5值,用户下载后可以自行计算文件的MD5并与之对比,确保文件的正确性。 总结来说,Java中的MD5是通过`MessageDigest`类来实现的,主要用于数据的摘要和完整性验证。尽管...

    java md5 check tool

    1. 引入相关库:在Java中,`java.security.MessageDigest` 类提供了对各种消息摘要算法的支持,包括MD5。首先需要在代码中导入这个类。 2. 初始化MD5摘要对象:通过 `MessageDigest.getInstance("MD5")` 来获取一个...

    java_md5加密

    比如,服务器提供一个文件的MD5值,用户下载完文件后,可以通过计算本地文件的MD5值并与服务器提供的值比较,来确认文件在传输过程中是否被篡改。 然而,MD5的弱点在于其安全性较低,不适合用于需要高安全性的场景...

Global site tag (gtag.js) - Google Analytics