MD5加密------java类

62 篇文章 0 订阅

package cn.ipanel.apps.portalBackOffice.util.md5;

import java.security.MessageDigest;

import org.apache.log4j.Logger;

/**
 * MD5 的加密
 *
 * @author zhang434
 * @datetime 2013-8-17 下午05:11:29
 */
public class MD5 {
 private static Logger logger = Logger.getLogger(MD5.class);
 /**
  * 對字符串進行MD5加密
  * @author zhang434
  * @param s
  * @return
  */
 public final static String getStringMD5(String s) {
  byte[] strTemp = s.getBytes();
  return MD5.getByteArrayMD5(strTemp);
 }
 /**
  * 對byte数组進行MD5加密
  * @author zhang434
  * @param source
  * @return
  */
 public final static String getByteArrayMD5(byte[] source) {
  char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
    'a', 'b', 'c', 'd', 'e', 'f' };
  try {
   // 使用MD5创建MessageDigest对象
   MessageDigest mdTemp = MessageDigest.getInstance("MD5");
   mdTemp.update(source);
   byte[] md = mdTemp.digest();
   int j = md.length;
   char str[] = new char[j * 2];
   int k = 0;
   for (int i = 0; i < j; i++) {
    byte b = md[i];
    // 将没个数(int)b进行双字节加密
    str[k++] = hexDigits[b >> 4 & 0xf];
    str[k++] = hexDigits[b & 0xf];
   }
   return new String(str);
  } catch (Exception e) {
   logger.error(e,e);
   return null;
  }
 }
 /**
  * 得到图片的MD5,也可以用于二级栏目的MD5
  * @author zhang434
  * @param pic 图片的字符串
  * @param url
  * @return
  */
 public static String getPictureMD5(String pic,String url){
  String md5 = "";
  StringBuffer sb = new StringBuffer(pic);
  sb.append(url);
  md5 = MD5.getStringMD5(new String(sb));
  return md5;
 }
 
 /**
  * 生成重庆的二级菜单的resourceNameMD5
  * @author zhang434
  * @param name
  * @param url
  * @param channelType
  * @param services 如果没有此数据 输入 ""
  * @return
  */
 public static String getMenuMD5(String name ,String url,String channelType ,String services){
  String md5 = "";
  StringBuffer sb = new StringBuffer(name);
  sb.append(url);
  sb.append(channelType);
  if(services != null && !services.equals("")){
   sb.append(services);
  }
  md5 = MD5.getStringMD5(new String(sb));
  return md5;
 }
 
 public static void main(String[] args) {
  System.out.println(MD5.getStringMD5("aaaaaaaaaaaaaaaaaaa"));
  byte[] source = "aaaaaaaaaaaaaaaaaaa".getBytes();
  System.out.println(MD5.getByteArrayMD5(source));
  logger.info(MD5.getPictureMD5("asdfasdfadf", "www.163.com"));
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值