zoukankan      html  css  js  c++  java
  • JAVA MD5加密

    package com.demo;
     
    import java.security.MessageDigest;
     
    public class MD5Util {
     
        private static final String ALGORITHM = "MD5";
     
        private static final char[] HEX_DIGITS = { '0''1''2''3''4''5',
                '6''7''8''9''a''b''c''d''e''f' };
     
        /**
         * encode string
         *
         * @param algorithm
         * @param str
         * @return String
         */
        public static String encode(String algorithm, String str) {
            if (str == null) {
                return null;
            }
            try {
                MessageDigest messageDigest = MessageDigest.getInstance(algorithm);
                messageDigest.update(str.getBytes());
                return getFormattedText(messageDigest.digest());
            catch (Exception e) {
                throw new RuntimeException(e);
            }
     
        }
     
        /**
         * encode By MD5
         *
         * @param str
         * @return String
         */
        public static String getStringMD5String(String str) {
            if (str == null) {
                return null;
            }
            try {
                MessageDigest messageDigest = MessageDigest.getInstance(ALGORITHM);
                messageDigest.update(str.getBytes());
                return getFormattedText(messageDigest.digest());
            catch (Exception e) {
                throw new RuntimeException(e);
            }
     
        }
     
        /**
         * Takes the raw bytes from the digest and formats them correct.
         *
         * @param bytes
         *            the raw bytes from the digest.
         * @return the formatted bytes.
         */
        private static String getFormattedText(byte[] bytes) {
            int len = bytes.length;
            StringBuilder buf = new StringBuilder(len * 2);
            // 把密文转换成十六进制的字符串形式
            for (int j = 0; j < len; j++) {         
                buf.append(HEX_DIGITS[(bytes[j] >> 4) & 0x0f]);
                buf.append(HEX_DIGITS[bytes[j] & 0x0f]);
            }
            return buf.toString();
        }
     
        public static void main(String[] args) {
            System.out.println(MD5Util.getStringMD5String("123"));
    //      System.out.println("111111 MD5  :"
    //              + EncoderHandler.encode("MD5", "111111"));
    //      System.out.println("111111 SHA1 :"
    //              + EncoderHandler.encode("SHA1", "111111"));
        }
     
    }

     

  • 相关阅读:
    冲刺阶段每日站立会议个人博客十二
    冲刺阶段每日站立会议个人博客十一
    针对其他团队建议的反馈
    软件工程概论第五周学习进度条
    冲刺阶段每日站立会议个人博客十
    冲刺阶段每日站立会议个人博客九
    每日站立会议个人博客八
    每日站立会议个人博客七
    软件工程概论第四周学习进度条
    每日站立会议个人博客六
  • 原文地址:https://www.cnblogs.com/mengyuxin/p/4813301.html
Copyright © 2011-2022 走看看