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);
        }
    }
    
  • 相关阅读:
    SQL SERVER 实现多个数据库之间表的联系,利用临时表枚举表中行数据
    [CCF CSP]201909-2 小明种苹果(续)
    Anaconda 安装 Python 库(MySQLdb)
    [CCF CSP]201903-4 消息传递接口
    [CCF CSP]201609-4 交通规划
    2019年12月CSP考试第三题化学方程式解法
    Leetcode.94.二叉树的中序遍历
    GENIA命名实体数据集解析代码
    git添加新用户
    C#语言 十大经典排序算法动画与解析!(动态演示+代码)(java改写成C# )
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/12829951.html
Copyright © 2011-2022 走看看