作者微信 bishe2022

代码功能演示视频在页面下方,请先观看;如需定制开发,联系页面右侧客服

  1. package com.util.codeUtil.MD5;

  2. import java.security.MessageDigest;

  3. /**

  4. * MD5加密工具类

  5. */

  6. public class MD5Util

  7. {

  8.    /**

  9.     * MD5字符串加密 16位小写

  10.     * @param sourceStr

  11.     * @param charset

  12.     * @return

  13.     * @throws Exception

  14.     */

  15.    public static String MD5_16_LowerCase(String sourceStr, String charset)

  16.            throws Exception

  17.    {

  18.        MessageDigest md = MessageDigest.getInstance("MD5");

  19.        md.update(sourceStr.getBytes(charset));

  20.        byte b[] = md.digest();

  21.        int i;

  22.        StringBuffer buf = new StringBuffer("");

  23.        for (int offset = 0; offset < b.length; offset++ )

  24.        {

  25.            i = b[offset];

  26.            if (i < 0)

  27.            {

  28.                i += 256;

  29.            }

  30.            if (i < 16)

  31.            {

  32.                buf.append("0");

  33.            }

  34.            buf.append(Integer.toHexString(i));

  35.        }

  36.        return buf.toString().substring(8, 24);

  37.    }

  38.    /**

  39.     * MD5字符串加密 16位大写

  40.     * @param sourceStr

  41.     * @param charset

  42.     * @return

  43.     * @throws Exception

  44.     */

  45.    public static String MD5_16_UpperCase(String sourceStr, String charset)

  46.            throws Exception

  47.    {

  48.        MessageDigest md = MessageDigest.getInstance("MD5");

  49.        md.update(sourceStr.getBytes(charset));

  50.        byte b[] = md.digest();

  51.        int i;

  52.        StringBuffer buf = new StringBuffer("");

  53.        for (int offset = 0; offset < b.length; offset++ )

  54.        {

  55.            i = b[offset];

  56.            if (i < 0)

  57.            {

  58.                i += 256;

  59.            }

  60.            if (i < 16)

  61.            {

  62.                buf.append("0");

  63.            }

  64.            buf.append(Integer.toHexString(i));

  65.        }

  66.        return buf.toString().substring(8, 24).toUpperCase();

  67.    }

  68.    /**

  69.     * MD5字符串加密 32位小写

  70.     * @param sourceStr

  71.     * @param charset

  72.     * @return

  73.     * @throws Exception

  74.     */

  75.    public static String MD5_32_LowerCase(String sourceStr, String charset)

  76.            throws Exception

  77.    {

  78.        MessageDigest md = MessageDigest.getInstance("MD5");

  79.        md.update(sourceStr.getBytes(charset));

  80.        byte b[] = md.digest();

  81.        int i;

  82.        StringBuffer buf = new StringBuffer("");

  83.        for (int offset = 0; offset < b.length; offset++ )

  84.        {

  85.            i = b[offset];

  86.            if (i < 0)

  87.            {

  88.                i += 256;

  89.            }

  90.            if (i < 16)

  91.            {

  92.                buf.append("0");

  93.            }

  94.            buf.append(Integer.toHexString(i));

  95.        }

  96.        return buf.toString();

  97.    }

  98.    /**

  99.     * MD5字符串加密 32位大写

  100.     * @param sourceStr

  101.     * @param charset

  102.     * @return

  103.     * @throws Exception

  104.     */

  105.    public static String MD5_32_UpperCase(String sourceStr, String charset)

  106.            throws Exception

  107.    {

  108.        MessageDigest md = MessageDigest.getInstance("MD5");

  109.        md.update(sourceStr.getBytes(charset));

  110.        byte b[] = md.digest();

  111.        int i;

  112.        StringBuffer buf = new StringBuffer("");

  113.        for (int offset = 0; offset < b.length; offset++ )

  114.        {

  115.            i = b[offset];

  116.            if (i < 0)

  117.            {

  118.                i += 256;

  119.            }

  120.            if (i < 16)

  121.            {

  122.                buf.append("0");

  123.            }

  124.            buf.append(Integer.toHexString(i));

  125.        }

  126.        return buf.toString().toUpperCase();

  127.    }

  128.    public static void main(String[] args)

  129.    {

  130.        String str = "123456";

  131.        try

  132.        {

  133.            str = MD5_16_LowerCase(str,"utf-8");

  134.            //str = MD5_16_UpperCase(str,"utf-8");

  135.            //str = MD5_32_LowerCase(str,"utf-8");

  136.            //str = MD5_32_UpperCase(str,"utf-8");

  137.        }

  138.        catch (Exception e)

  139.        {

  140.            e.printStackTrace();

  141.        }

  142.        System.out.println(str);

  143.    }

  144. }


Home