• Java 实现MD5


    在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

  • 相关阅读:
    STM32F407ZGT6|SPI主从模式
    【赠书活动】AI时代项目经理必备技能
    【2023】Redis相关面试题
    点评项目核心内容
    「洛谷 P3834」「模板」可持久化线段树 题解报告
    【三种修改 list 的方法测试】
    理想之光不灭
    CentOS网络设置
    剑指 Offer 04 二维数组中的查找
    手撕Vue-数据驱动界面改变下
  • 原文地址:https://blog.csdn.net/xiamaocheng/article/details/126306945