zoukankan      html  css  js  c++  java
  • Java类 MD5&SHA加密

     

    package com.arui.util;  

    import java.security.MessageDigest;  
    import java.security.NoSuchAlgorithmException;  
     
    public class EncryptUtils {  
        /** 
         * Encrypt string using MD5 algorithm 
         */  
        public final static String encryptMD5(String source) {  
            if (source == null) {  
                source = "";  
            }  
            String result = "";  
            try {  
                result = encrypt(source, "MD5");  
            } catch (NoSuchAlgorithmException ex) {  
                // this should never happen  
                throw new RuntimeException(ex);  
            }  
            return result;  
        }  
        /** 
         * Encrypt string using SHA algorithm 
         */  
        public final static String encryptSHA(String source) {  
            if (source == null) {  
                source = "";  
            }  
            String result = "";  
            try {  
                result = encrypt(source, "SHA");  
            } catch (NoSuchAlgorithmException ex) {  
                // this should never happen  
                throw new RuntimeException(ex);  
            }  
            return result;  
        }  
        /** 
         * Encrypt string 
         */  
        private final static String encrypt(String source, String algorithm)  
                throws NoSuchAlgorithmException {  
            byte[] resByteArray = encrypt(source.getBytes(), algorithm);  
            return toHexString(resByteArray);  
        }  
        /** 
         * Encrypt byte array. 
         */  
        private final static byte[] encrypt(byte[] source, String algorithm)  
                throws NoSuchAlgorithmException {  
            MessageDigest md = MessageDigest.getInstance(algorithm);  
            md.reset();  
            md.update(source);  
            return md.digest();  
        }  
        /** 
         * Get hex string from byte array 
         */  
        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();  
        }  
    }  
     
     
     
     
  • 相关阅读:
    开放不应是唯一的价值观,互联网营销 狼人:
    什么是互联网产品的运营?,互联网营销 狼人:
    十年:邮箱,互联网营销 狼人:
    瘦客户端那些事 开篇,互联网营销 狼人:
    谈谈互动型网站中垃圾贴的应对方案,互联网营销 狼人:
    告诉你一个真实的中国互联网:精英与草根,互联网营销 狼人:
    从Google Wave和XML看软件复杂性之争,互联网营销 狼人:
    构建可伸缩高性能的互联网应用,互联网营销 狼人:
    注册接口使用StructureMap和Autofac等Ioc容器
    备份文件oracle 10g rman备份与恢复 之二
  • 原文地址:https://www.cnblogs.com/huhu0013/p/2766312.html
Copyright © 2011-2022 走看看