package **;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; public class MD5 {
/**
* MD5加密算法,参数选择16还是32位
* 默认为32位
* @param plainText 需加密的文本
* @param md5Type 16/32
* @return 加密后的密文
*/
public static String Md5(String plainText,String md5Type) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();
int i; StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
if(md5Type!=null&&!md5Type.trim().equals("")&&md5Type.trim().equals("16")){
return buf.toString().substring(8, 24).toUpperCase();// 16位的加密
}else{
return buf.toString().toUpperCase();// 32位的加密大写
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
} public static void main(String[] args) {
Md5("123456","16");
System.out.println(Md5("123456","16")); Md5("123456","32"); System.out.println(Md5("123456","32"));
System.out.println(Md5("123456","32").equals("E10ADC3949BA59ABBE56E057F20F883E")); System.out.println(Md5("123456","16").equals("49BA59ABBE56E057")); }
}

最新文章

  1. 无需activity获得屏幕尺寸
  2. 用StackExchange.Redis客户端连接阿里云Redis服务遇到的问题
  3. ngModel 值不更新/显示
  4. Nancy总结(二)记一次Nancy 框架中遇到的坑
  5. php的字符串转2进制函数
  6. 4.cadence原理图,环境设置[原创]
  7. 中文乱码问题(使用Servlet3.0新特性实现文件上传——上传文件名中文乱码问题)
  8. 【HDU 4786 Fibonacci Tree】最小生成树
  9. Ubuntu 12.04 wireless networks : devices not ready (firmware missing)解决办法
  10. Dubbo协议与连接控制
  11. OpenGL ES着色器语言之着色概览(官方文档)
  12. gradient渐变IE兼容处理
  13. Libevent(2.1.8)中的事件结构和管理
  14. 开放源代码的设计层面框架Spring——day03
  15. git配置代理
  16. js计算日期相减天数
  17. Docker 国内仓库和镜像
  18. React 添加对 Less 的支持, 使用 create-react-app 脚手架
  19. php 防止sql注入的简单方法
  20. centos下mysql自动备份(亲测可用)

热门文章

  1. jquery序列化form表单
  2. AR入门系列-04-vuforia识别多个图片及同屏展示
  3. 关于hive ,eclipse老是提示加载不到驱动
  4. 简易漫画网站搭建-漫画喵Server版
  5. Canvas的下雪效果
  6. resin远程调试配置,connection refused问题解决
  7. C#三层构架
  8. 2015.07.20MapReducer源码解析(笔记)
  9. MyBatis 源码分析——映射结果
  10. Struts2.5简单使用入门