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

  • 相关阅读:
    关于Oracle
    form表单中包含特殊字符,需要转义。
    mysql5.7解压版安装步骤
    mysql报1055错误
    配置maven私有仓库
    全选,反选
    前后端数据交互(json)
    正则表达式匹配html标签里的中文
    excel创建行、插入行、设置样式
    Python 中文字符的输出
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/6020596.html
Copyright © 2011-2022 走看看