zoukankan      html  css  js  c++  java
  • Java:md5 摘要

    环境

    1. jdk 8
    2. commons-codec 1.14
    3. 4.3.24.RELEASE

    示例

    jdk

    package jiangbo.java.lang;
    
    import java.io.IOException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    import javax.xml.bind.DatatypeConverter;
    
    public class Md5Demo {
    
        public static void main(String[] args) throws IOException, NoSuchAlgorithmException {
    
            String str = "jiangbo";
            MessageDigest messageDigest = MessageDigest.getInstance("MD5");
            byte[] digestBytes = messageDigest.digest(str.getBytes("UTF-8"));
            String md5String = DatatypeConverter.printHexBinary(digestBytes);
            System.out.println(md5String);
        }
    }
    

    commons-codec

    加入依赖

    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.14</version>
    </dependency>
    
    package jiangbo.java.lang;
    
    import java.util.Locale;
    
    import org.apache.commons.codec.digest.DigestUtils;
    
    public class Md5Demo {
    
        public static void main(String[] args) {
    
            String str = "jiangbo";
            String md5Hex = DigestUtils.md5Hex(str).toUpperCase(Locale.US);
            System.out.println(md5Hex);
        }
    }
    

    spring

    加入依赖

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.3.24.RELEASE</version>
    </dependency>
    
    package jiangbo.java.lang;
    
    import java.nio.charset.StandardCharsets;
    import java.util.Locale;
    
    import org.springframework.util.DigestUtils;
    
    public class Md5Demo {
    
        public static void main(String[] args) {
    
            String str = "jiangbo";
    
    //      jdk 6
    //      Charset utf8 = Charset.forName("utf8");
    //      String hex = DigestUtils.md5DigestAsHex(str.getBytes(utf8));
    
            String hex = DigestUtils.md5DigestAsHex(str.getBytes(StandardCharsets.UTF_8));
            System.out.println(hex.toUpperCase(Locale.US));
        }
    }
    

    工具类

    package jiangbo.java.lang;
    
    import java.nio.charset.StandardCharsets;
    import java.util.Locale;
    
    import org.springframework.util.DigestUtils;
    
    public class Md5Utils {
    
        public static final String digestAsHex(String str) {
    
            return DigestUtils.md5DigestAsHex(str.getBytes(StandardCharsets.UTF_8));
        }
    
        public static final String digestAsUpperCaseHex(String str) {
    
            return digestAsHex(str).toUpperCase(Locale.US);
        }
    }
    
  • 相关阅读:
    [干货向]用Javascript获取页面元素的位置
    从 JavaScript 数组去重谈性能优化
    《悟透javascript》中的知识点
    深入理解javascript闭包
    深入理解Javascript之执行上下文(Execution Context)
    CSS Sprites的原理
    深入理解JavaScript定时机制
    防范sql注入式攻击的比较有见地的代码(PHP)
    PHP(authcode)加密解密
    预防数据库攻击
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/12829951.html
Copyright © 2011-2022 走看看