码迷,mamicode.com
首页 > 其他好文 > 详细

MD5加密

时间:2017-05-01 15:06:55      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:except   equal   加密   cep   pre   pac   sage   span   public   

1.MD5工具类

MD5工具类代码如下:因为我们经常使用utf-8进行加密,所以就只对外开放了一个硬编码的utf-8的MD5加密,这个工具类可以根据自己的项目加密的编码进行适当的修改,

例如:MD5Encode方法则是对传入指定的编码进行加密,不传按照默认加密。也可以将此方法对外开放。

注意:此加密方法返回的加密代码是大写的。

 1 package com.mmall.util;
 2 
 3 import org.springframework.util.StringUtils;
 4 
 5 import java.security.MessageDigest;
 6 
 7 public class MD5Util {
 8 
 9     private static String byteArrayToHexString(byte b[]) {
10         StringBuffer resultSb = new StringBuffer();
11         for (int i = 0; i < b.length; i++)
12             resultSb.append(byteToHexString(b[i]));
13 
14         return resultSb.toString();
15     }
16 
17     private static String byteToHexString(byte b) {
18         int n = b;
19         if (n < 0)
20             n += 256;
21         int d1 = n / 16;
22         int d2 = n % 16;
23         return hexDigits[d1] + hexDigits[d2];
24     }
25 
26     /**
27      * 返回大写MD5
28      *
29      * @param origin
30      * @param charsetname
31      * @return
32      */
33     private static String MD5Encode(String origin, String charsetname) {
34         String resultString = null;
35         try {
36             resultString = new String(origin);
37             MessageDigest md = MessageDigest.getInstance("MD5");
38             if (charsetname == null || "".equals(charsetname))
39                 resultString = byteArrayToHexString(md.digest(resultString.getBytes()));
40             else
41                 resultString = byteArrayToHexString(md.digest(resultString.getBytes(charsetname)));
42         } catch (Exception exception) {
43         }
44         return resultString.toUpperCase();
45     }
46 
47     public static String MD5EncodeUtf8(String origin) {
48         origin = origin + PropertiesUtil.getProperty("password.salt", "");
49         return MD5Encode(origin, "utf-8");
50     }
51 
52 
53     private static final String hexDigits[] = {"0", "1", "2", "3", "4", "5",
54             "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};
55 
56 }

2.实战

//MD5加密
user.setPassword(MD5Util.MD5EncodeUtf8(user.getPassword()));

// 然后直接保存到数据库中即可。

MD5加密

标签:except   equal   加密   cep   pre   pac   sage   span   public   

原文地址:http://www.cnblogs.com/gbb123/p/6791847.html

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