zoukankan      html  css  js  c++  java
  • 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();
        }
    }
  • 相关阅读:
    高精度加法和减法。加法还好,减法花了不少时间。
    整数拆分
    二叉搜索树的中位数
    基本有序数组的排序
    log4j手册
    mysql技巧
    vim配置文件
    regex for python like preg_match of php
    字符串按word反转
    the little redis 阅读笔记
  • 原文地址:https://www.cnblogs.com/kangweifeng/p/4897201.html
Copyright © 2011-2022 走看看