zoukankan      html  css  js  c++  java
  • java MD5加密的工具类

    import java.security.MessageDigest;
    
    /**
     * MD5加密工具类
     * @author zwq
     */
    public class MD5Util {
        /**
         * MD5加密
         * @param message 需要加密的信息,例:123456
         * @return 返回MD5加密后的32位大写字符串,例:E10ADC3949BA59ABBE56E057F20F883E
         */
        public static String encode(String message) throws Exception {
            String md5 = "";
            MessageDigest md = MessageDigest.getInstance("MD5");  // 创建一个md5算法对象
            byte[] messageByte = message.getBytes("UTF-8");
            byte[] md5Byte = md.digest(messageByte);              // 获得MD5字节数组,16*8=128位
            md5 = bytesToHex(md5Byte);                            // 转换为16进制字符串
            return md5;
        }
    
        /***
         * 将字节数组转换成16进制字符串
         * @param bytes 需要转换的字节数组,例:[-31,10,-36,57,73,-70,89,-85,-66,86,-32,87,-14,15,-120,62]
         * @return 返回转换后的大写字符串,例:E10ADC3949BA59ABBE56E057F20F883E
         */
        public static String bytesToHex(byte[] bytes) {
            StringBuffer hexStr = new StringBuffer();
            int num;
            for (int i = 0; i < bytes.length; i++) {
                num = bytes[i];
                if(num < 0) {
                    num += 256;
                }
                if(num < 16){
                    hexStr.append("0");
                }
                hexStr.append(Integer.toHexString(num));
            }
            return hexStr.toString().toUpperCase();
        }
    }
  • 相关阅读:
    PHP中get请求中参数的key不能是para
    js对数组中的数字排序
    js 数组不重复添加元素
    Controllers
    Views
    Models
    Requirements
    Pull Requests
    Upgrade Guide
    Overview & Change Log
  • 原文地址:https://www.cnblogs.com/zhuwenqi2016/p/8275366.html
Copyright © 2011-2022 走看看