Java MD5 Base64加密解密
2016-06-29 13:45
399 查看
package com.phoenix.core.db.util; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.IOException; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Created by Lovell on 16/6/28. */ public class EncryptUtils { /** * 用MD5算法进行加密 * @param str 需要加密的字符串 * @return MD5加密后的结果 */ public static String encodeMD5String(String str) { return encode(str, "MD5"); } /** * 用SHA算法进行加密 * @param str 需要加密的字符串 * @return SHA加密后的结果 */ public static String encodeSHAString(String str) { return encode(str, "SHA"); } /** * 用base64算法进行加密 * @param str 需要加密的字符串 * @return base64加密后的结果 */ public static String encodeBase64String(String str) { BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(str.getBytes()); } /** * 用base64算法进行解密 * @param str 需要解密的字符串 * @return base64解密后的结果 * @throws IOException */ public static String decodeBase64String(String str) throws IOException { BASE64Decoder encoder = new BASE64Decoder(); return new String(encoder.decodeBuffer(str)); } private static String encode(String str, String method) { MessageDigest md = null; String dstr = null; try { md = MessageDigest.getInstance(method); md.update(str.getBytes()); dstr = new BigInteger(1, md.digest()).toString(16); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return dstr; } public static void main(String[] args) throws IOException { String user = "Lovell"; System.out.println("原始字符串 " + user); System.out.println("MD5加密 " + encodeMD5String(user)); System.out.println("SHA加密 " + encodeSHAString(user)); String base64Str = encodeBase64String(user); System.out.println("Base64加密 " + base64Str); System.out.println("Base64解密 " + decodeBase64String(base64Str)); } }
相关文章推荐
- Java的ClassLoader加载机制
- 强引用、弱引用、软引用、虚引用——Java 7之基础
- JAVA线程池学习以及队列拒绝策略
- java修饰符大全详解
- spring中props,list,set,map元素的用法
- spring每个jar包的作用
- 基于Java的打包jar、war、ear包的作用与区别详解
- Java 如何有效地避免OOM:善于利用软引用和弱引用
- java中XML文档解析1(Dom)
- jqPaginator ajax异步轻量级分页
- eclipse中server location灰色,如何修改?
- Java_Ant详解
- RDD JAVA API 用法指南
- 画图板的简单实现
- Java定时器的使用(Timer)
- Spring中bean的依赖注入解析
- Spring入门01
- Spring 泛型依赖注入
- java 反射机制加载外部jar
- java.util.concurrent.ThreadPoolExecutor实现机制简介