1. package com.common.tools;
  2. import java.security.MessageDigest;
  3. /**
  4. * MD5加密工具类
  5. * <功能详细描述>
  6. *
  7. * @author  chenlujun
  8. * @version  [版本号, 2014年10月1日]
  9. * @see  [相关类/方法]
  10. * @since  [产品/模块版本]
  11. */
  12. public abstract class MD5Tools
  13. {
  14. public final static String MD5(String pwd) {
  15. //用于加密的字符
  16. char md5String[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
  17. 'A', 'B', 'C', 'D', 'E', 'F' };
  18. try {
  19. //使用平台的默认字符集将此 String 编码为 byte序列,并将结果存储到一个新的 byte数组中
  20. byte[] btInput = pwd.getBytes();
  21. //信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。
  22. MessageDigest mdInst = MessageDigest.getInstance("MD5");
  23. //MessageDigest对象通过使用 update方法处理数据, 使用指定的byte数组更新摘要
  24. mdInst.update(btInput);
  25. // 摘要更新之后,通过调用digest()执行哈希计算,获得密文
  26. byte[] md = mdInst.digest();
  27. // 把密文转换成十六进制的字符串形式
  28. int j = md.length;
  29. char str[] = new char[j * 2];
  30. int k = 0;
  31. for (int i = 0; i < j; i++) {   //  i = 0
  32. byte byte0 = md[i];  //95
  33. str[k++] = md5String[byte0 >>> 4 & 0xf];    //    5
  34. str[k++] = md5String[byte0 & 0xf];   //   F
  35. }
  36. //返回经过加密后的字符串
  37. return new String(str);
  38. } catch (Exception e) {
  39. return null;
  40. }
  41. }
  42. }
  43. 转自http://blog.csdn.net/clj198606061111/article/details/39722781

java MD5工具类的更多相关文章

  1. MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能

    MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...

  2. Java开发工具类集合

    Java开发工具类集合 01.MD5加密工具类 import java.security.MessageDigest; import java.security.NoSuchAlgorithmExce ...

  3. Java Properties工具类详解

    1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...

  4. Java json工具类,jackson工具类,ObjectMapper工具类

    Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...

  5. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  6. Java并发工具类 - CountDownLatch

    Java并发工具类 - CountDownLatch 1.简介 CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent包下面 http: ...

  7. MinerUtil.java 爬虫工具类

    MinerUtil.java 爬虫工具类 package com.iteye.injavawetrust.miner; import java.io.File; import java.io.File ...

  8. MinerDB.java 数据库工具类

    MinerDB.java 数据库工具类 package com.iteye.injavawetrust.miner; import java.sql.Connection; import java.s ...

  9. 小记Java时间工具类

    小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...

随机推荐

  1. Win10 无法用内置管理员帐户打开 解决方案

  2. Android中的Service组件具体解释

    Service与Activity的差别在于:Service一直在后台执行,他没实用户界面,绝不会到前台来. 一,创建和配置Service 开发Service须要两个步骤:1.继承Service子类,2 ...

  3. python 创建类先执行metaclass父类__new__ > __init__>__call__ 然后再执行自己的__new__>__init__

    class MyType(type): def __init__(self,*args,**kwargs): print("Mytype __init__",*args,**kwa ...

  4. puppeteer 相关知识

    page.waitForNavigation: 但我们通过代码执行到页面跳转时,我们需要等待跳转完成再作其他事情.使用page.waitForNavigation会等待跳转完成.(一般作用在点击链接或 ...

  5. Struts2--百度百科

    Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与Struts 1的体系结构差别 ...

  6. js比较数字相等

    示例代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF ...

  7. leetcode第一刷_Sudoku Solver

    这道题简直是耻辱啊.竟然被吓得不敢做,最终開始写还犯下了各种低级错误,花了好久的时间. 事实上假设想明确81*9事实上是非常小的规模的话,早就想到用回溯法了,这不是跟八皇后全然一样的嘛.每次填入的时候 ...

  8. (三)EasyUI 使用——form表单1

    form表单组件主要有以下内容(如下图)     1. validatebox验证框 姓名:必填/1-4个字符/必填中文 邮箱:必填/1-30个字符/必填符合邮箱格式/后缀必须是com或cn 密码验证 ...

  9. springboot学习(九) 使用mybatis访问数据库

    1.添加maven依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId ...

  10. (016)给定一个有序数组(递增),敲代码构建一棵具有最小高度的二叉树(keep it up)

    给定一个有序数组(递增),敲代码构建一棵具有最小高度的二叉树. 因为数组是递增有序的.每次都在中间创建结点,类似二分查找的方法来间最小树. struct TreeNode { int data; Tr ...