zoukankan      html  css  js  c++  java
  • MD5算法的简单编写

    package com.t_09;
    
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    public class TS {
        public static void main(String[] args) {
            System.out.println(MD5.getMD5Code("0000"));
        }
    }
    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;
            if(iRet<0){
                iRet+=265;
            }
            int iD1=iRet/16;
            int iD2=iRet%16;
            return strDigits[iD1]+strDigits[iD2];
        }
        
        //转换字节数组为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;
        }
    }

    照着别人的敲了一次。好像就是将字符串的哈希值构成的byte数组中的每一个byte都进行加密,然后生成码。

    相关其他文章:

    http://www.cnblogs.com/luminji/archive/2011/05/24/2055021.html

  • 相关阅读:
    js继承《转》
    千分位分割正则
    所有事件失效
    658. Find K Closest Elements
    278. First Bad Version
    153. Find Minimum in Rotated Sorted Array
    11. Container With Most Water
    205. Isomorphic Strings
    75. Sort Colors
    695. Max Area of Island
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/6020596.html
Copyright © 2011-2022 走看看