zoukankan      html  css  js  c++  java
  • Java MD5获取

    MD5算法具有以下特点:
    1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
    2、容易计算:从原数据计算出MD5值很容易。
    3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
    4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
    MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1RIPEMD以及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;
    
    }
  • 相关阅读:
    文字无缝滚动效果,鼠标移入时暂停
    Spring中使用@Autowired注解静态实例对象
    服务器环境搭建
    nexus问题
    useUnicode=true&characterEncoding=UTF-8 的作用
    SpringBoot项目启动时自动执行指定方法
    springboot自定义消息转换器HttpMessageConverter
    kubernetes资源类别介绍
    红黑树与平衡二叉树的比较
    Feign Client的超时时间
  • 原文地址:https://www.cnblogs.com/dk2557/p/10599801.html
Copyright © 2011-2022 走看看