android加密工具类

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

/**
 * 加密工具类
 * Created by Administrator on 2015/10/21 0021.
 */
public class EncryptUtils {
    /**
     * 字符串加密使用MD5算法
     */
    public final static String encryptMD5(String source) {
        if (source == null) {
            source = "";
        }
        String result = "";
        try {
            result = encrypt(source, "MD5");
        } catch (NoSuchAlgorithmException ex) {
            // 一般不会发生
            throw new RuntimeException(ex);
        }
        return result.toLowerCase();
    }
    /**
     * 字符串加密使用SHA算法
     */
    public final static String encryptSHA(String source) {
        if (source == null) {
            source = "";
        }
        String result = "";
        try {
            result = encrypt(source, "SHA");
        } catch (NoSuchAlgorithmException ex) {
            // 一般不会发生
            throw new RuntimeException(ex);
        }
        return result;
    }
    /**
     * 字符串加密
     */
    private final static String encrypt(String source, String algorithm)
            throws NoSuchAlgorithmException {
        byte[] resByteArray = encrypt(source.getBytes(), algorithm);
        return toHexString(resByteArray);
    }
    /**
     * 字节数组加密
     */
    private final static byte[] encrypt(byte[] source, String algorithm)
            throws NoSuchAlgorithmException {
        MessageDigest md = MessageDigest.getInstance(algorithm);
        md.reset();
        md.update(source);
        return md.digest();
    }
    /**
     * 从字节数组获取十六进制字符串
     */
    private final static String toHexString(byte[] res) {
        StringBuffer sb = new StringBuffer(res.length << 1);
        for (int i = 0; i < res.length; i++) {
            String digit = Integer.toHexString(0xFF & res[i]);
            if (digit.length() == 1) {
                digit = '0' + digit;
            }
            sb.append(digit);
        }
        return sb.toString().toUpperCase();
    }
}
原文地址:https://www.cnblogs.com/kangweifeng/p/4897201.html