码迷,mamicode.com
首页 > 移动开发 > 详细

android加密工具类

时间:2015-10-21 12:27:10      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

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();
    }
}

 

android加密工具类

标签:

原文地址:http://www.cnblogs.com/kangweifeng/p/4897201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!