使用java自帶加密算法實現文本的md5加密算法

jopen 9年前發布 | 6K 次閱讀 Java MongoDB

本篇使用java自帶的MessageDigest實現對文本的md5加密算法,具體代碼如下:

 /**  
 *@Description: 將字符串轉化為MD5
 */ 
package cn.yicha.novel.util;  

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class ParseMD5 {

    /**
     * @param str
     * @return
     * @Date: 2013-9-6  
     * @Author: lulei  
     * @Description:  32位小寫MD5
     */
    public static String parseStrToMd5L32(String str){
        String reStr = null;
        try {
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            byte[] bytes = md5.digest(str.getBytes());
            StringBuffer stringBuffer = new StringBuffer();
            for (byte b : bytes){
                int bt = b&0xff;
                if (bt < 16){
                    stringBuffer.append(0);
                } 
                stringBuffer.append(Integer.toHexString(bt));
            }
            reStr = stringBuffer.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return reStr;
    }

    /**
     * @param str
     * @return
     * @Date: 2013-9-6  
     * @Author: lulei  
     * @Description: 32位大寫MD5
     */
    public static String parseStrToMd5U32(String str){
        String reStr = parseStrToMd5L32(str);
        if (reStr != null){
            reStr = reStr.toUpperCase();
        }
        return reStr;
    }

    /**
     * @param str
     * @return
     * @Date: 2013-9-6  
     * @Author: lulei  
     * @Description: 16位小寫MD5
     */
    public static String parseStrToMd5U16(String str){
        String reStr = parseStrToMd5L32(str);
        if (reStr != null){
            reStr = reStr.toUpperCase().substring(8, 24);
        }
        return reStr;
    }

    /**
     * @param str
     * @return
     * @Date: 2013-9-6  
     * @Author: lulei  
     * @Description: 16位大寫MD5
     */
    public static String parseStrToMd5L16(String str){
        String reStr = parseStrToMd5L32(str);
        if (reStr != null){
            reStr = reStr.substring(8, 24);
        }
        return reStr;
    }
}
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!