MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"RIPEMD以及Haval等。
 
MD5 是非对称的加密算法(PS:对称加密就是加密用的密码和解密用的密码是一样的,非对称就是加密和解密用的密钥不一样)。
 

maven 引入apache的jar(不是maven项目,去网上下一个jar手动引入)

<dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
     <version>3.3.2</version>
</dependency>

代码:

import java.security.MessageDigest;

public static String getmd5(String mesage){

  String digest=null;

  MessageDigest md;

   try{

    md=MessageDigest.getInstance("MD5");
    byte[] hash=md.digest(mesage.getBytes("UTF-8"));
    StringBuilder sb=new StringBuilder(2*hash.length);
    for(byte b:hash){

      sb.append(String.format("%02x",b&0xff));

    }
    digest =sb.toString();
  } catch(NoSuchAlgorithmException | UnsupportedEncodingException e){

    e.printStackTrace();

  }

  return digest;

}

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-04
  • 2021-05-21
  • 2021-12-15
  • 2021-09-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-09
  • 2021-12-20
  • 2021-07-04
  • 2021-06-03
相关资源
相似解决方案