Android Md5加密工具类

里面封装了32位、16位大小写加密方式,应有尽有,快来看看吧

  1. 长度固定,
    不管多长的字符串,加密后的长度都是一样长的,
    作用:方便平时信息的统计和管理

  2. 易计算
    字符串和加密的过程是简单的
    作用:开发者很容易理解和做出加密工具

  3. 细微性
    一个文件,不管多大,你只要改变里面的一个值,MD5的值就会导致改变
    作用:很多软件和应用在网站提供下载资源,都会有md5值的判定,用户下载后只需要用工具类测试一下,通过对比md5值,就能知道文件有没有发生变化。

  4. 不可逆性
    你明明知道明文和加密方式,却无法计算出原密码
    作用:基于这个特点,就是打打加强了数据的安全性

package utils;

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

public class MD5Utils {

    /** 
     *
     * @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 
     * @Description: 32位大写MD5
     */  
    public static String parseStrToMd5U32(String str){  
        String reStr = parseStrToMd5L32(str);  
        if (reStr != null){  
            reStr = reStr.toUpperCase();  
        }  
        return reStr;
    }  

    /** 
     * @param str 
     * @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 
     * @Description: 16位大写MD5
     */  
    public static String parseStrToMd5L16(String str){  
        String reStr = parseStrToMd5L32(str);  
        if (reStr != null){  
            reStr = reStr.substring(8, 24);  
        }  
        return reStr;  
    }  
}  

猜你喜欢

转载自blog.csdn.net/nazicsdn/article/details/80747921
今日推荐