Java 实现MD5

Java 实现MD5MessageDigest类为应用程序提供信息摘要算法的功能,如MD5或SHA算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,输出固定长度的哈希值。对于给定数量的更新数据,digest方法只能被调用一次。digest被调用后,MessageDigest对象被重新设置成其初始状态。在Java中实现MD5是很简单的,在包java.security有个类MessageDigest。…

在Java中实现MD5是很简单的,在包java.security有个类MessageDigest。官方文档如下
MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,输出固定长度的哈希值。

对于给定数量的更新数据,digest 方法只能被调用一次。digest 被调用后,MessageDigest 对象被重新设置成其初始状态。
import java.security.MessageDigest;
static char[] hex = {‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};
public static void main(String[] args) {

try{

MessageDigest md5 = MessageDigest.getInstance(“MD5”);//申明使用MD5算法
md5.update(“a”.getBytes());//
System.out.println(“md5(a)=”+byte2str(md5.digest()));
md5.update(“a”.getBytes());
md5.update(“bc”.getBytes());
System.out.println(“md5(abc)=”+byte2str(md5.digest()));
}catch(Exception e){

e.printStackTrace();
}
}

/**

  • 将字节数组转换成十六进制字符串
  • @param bytes
  • @return
    */
    private static String byte2str(byte []bytes){

    int len = bytes.length;
    StringBuffer result = new StringBuffer();
    for (int i = 0; i < len; i++) {

    byte byte0 = bytes[i];
    result.append(hex[byte0 >>> 4 & 0xf]);
    result.append(hex[byte0 & 0xf]);
    }
    return result.toString();
    }

/**

  • 将字节数组转换成十六进制字符串
  • @param bytes
  • @return
    */
    private static String byte2str(byte []bytes){

    int len = bytes.length;
    StringBuffer result = new StringBuffer();
    for (int i = 0; i < len; i++) {

    byte byte0 = bytes[i];
    result.append(hex[byte0 >>> 4 & 0xf]);
    result.append(hex[byte0 & 0xf]);
    }
    return result.toString();
    }

推荐阅读:
https://blog.csdn.net/m0_51945027/article/details/117317854

今天的文章Java 实现MD5分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/8358.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注