zoukankan      html  css  js  c++  java
  • MD5加密算法的java实现

    package other;

    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    /*
     * MD5 算法
    */
    public class MD5 {
       
        // 全局数组
        private final static String[] strDigits = { "0", "1", "2", "3", "4", "5",
                "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

        public MD5() {
        }

        // 返回形式为数字跟字符串
        private static String byteToArrayString(byte bByte) {
            int iRet = bByte;
            // System.out.println("iRet="+iRet);
            if (iRet < 0) {
                iRet += 256;
            }
            int iD1 = iRet / 16;
            int iD2 = iRet % 16;
            return strDigits[iD1] + strDigits[iD2];
        }

        // 返回形式只为数字
        private static String byteToNum(byte bByte) {
            int iRet = bByte;
            System.out.println("iRet1=" + iRet);
            if (iRet < 0) {
                iRet += 256;
            }
            return String.valueOf(iRet);
        }

        // 转换字节数组为16进制字串
        private static String byteToString(byte[] bByte) {
            StringBuffer sBuffer = new StringBuffer();
            for (int i = 0; i < bByte.length; i++) {
                sBuffer.append(byteToArrayString(bByte[i]));
            }
            return sBuffer.toString();
        }

        public static String GetMD5Code(String strObj) {
            String resultString = null;
            try {
                resultString = new String(strObj);
                MessageDigest md = MessageDigest.getInstance("MD5");
                // md.digest() 该函数返回值为存放哈希值结果的byte数组
                resultString = byteToString(md.digest(strObj.getBytes()));
            } catch (NoSuchAlgorithmException ex) {
                ex.printStackTrace();
            }
            return resultString;
        }

        public static void main(String[] args) {
            MD5 getMD5 = new MD5();
            System.out.println(getMD5.GetMD5Code("000000"));
        }
    }

    魔由心生,有万境纵横,无一道清静,无量寿佛!
  • 相关阅读:
    Web CI/CD Continuous Integration / Continuous Delivery / Continuous Deployment
    hd + TP-Link Switch / wanzhaojiaohuanji / spf+ / TL-ST1008F / TL-ST5016F
    彻底理解js中this的指向,不必硬背(转)
    H5本地存储(转)
    jquery获得 当前页面url的变量
    js中实现base64加密、解密
    项目中easyui-tooltip提示消息运用
    Jquery生成二维码(微信中长按图片识别二维码功能)
    [hdu 3068] Manacher算法O(n)最长回文子串
    Hello world !
  • 原文地址:https://www.cnblogs.com/qihuan/p/3798673.html
Copyright © 2011-2022 走看看