zoukankan      html  css  js  c++  java
  • java实现Md5加密工具类

    场景:平常我们用户注册的密码保存到数据库都不会是明文存储的。都是经过加密之后的。因为保证用户的安全性。我们通常是用md5算法来加密的。

    这个只能算是一个工具类。没必要了解里面是怎么实现的。拿来用就可以。

    MD5Util.java
    package com.mmall.util;
    
    import lombok.extern.slf4j.Slf4j;
    
    import java.security.MessageDigest;
    
    @Slf4j
    public class MD5Util {
    
        public final static String encrypt(String s) {
            char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
            try {
                byte[] btInput = s.getBytes();
                // 获得MD5摘要算法的 MessageDigest 对象
                MessageDigest mdInst = MessageDigest.getInstance("MD5");
                // 使用指定的字节更新摘要
                mdInst.update(btInput);
                // 获得密文
                byte[] md = mdInst.digest();
                // 把密文转换成十六进制的字符串形式
                int j = md.length;
                char str[] = new char[j * 2];
                int k = 0;
                for (int i = 0; i < j; i++) {
                    byte byte0 = md[i];
                    str[k++] = hexDigits[byte0 >>> 4 & 0xf];
                    str[k++] = hexDigits[byte0 & 0xf];
                }
                return new String(str);
            } catch (Exception e) {
                log.error("generate md5 error, {}", s, e);
                return null;
            }
        }
        public static void main(String[] arg){
            System.out.println(MD5Util.encrypt("123456"));
        }
    }
     
  • 相关阅读:
    Angular
    linux mysql 5.7.25 安裝
    J2CACHE 两级缓存框架
    MYSQL 事务测试
    安装配置ftp服务器
    使用docker 安装 GITLIB
    Elastic serarch 安装
    centos firewalld 基本操作【转】
    KAFKA 监控管理界面 KAFKA EAGLE 安装
    redis 的一主二从三哨兵模式
  • 原文地址:https://www.cnblogs.com/coder-lzh/p/8666292.html
Copyright © 2011-2022 走看看