1 import java.security.MessageDigest; 2 3 public class MD5 { 4 5 public static String toMD5(String plainText) { 6 StringBuffer buf = new StringBuffer(""); 7 try { 8 // 生成实现指定摘要算法的 MessageDigest 对象。 9 MessageDigest md = MessageDigest.getInstance("MD5"); 10 // 使用指定的字节数组更新摘要。 11 md.update(plainText.getBytes()); 12 // 通过执行诸如填充之类的最终操作完成哈希计算。 13 byte b[] = md.digest(); 14 // 生成具体的md5密码到buf数组(32位小写) 15 int i; 16 17 for (int offset = 0; offset < b.length; offset++) { 18 i = b[offset]; 19 if (i < 0){ 20 i += 256; 21 } 22 if (i < 16){ 23 buf.append("0"); 24 }else{ 25 buf.append(Integer.toHexString(i)); 26 } 27 } 28 } catch (Exception e) { 29 e.printStackTrace(); 30 } 31 return buf.toString(); 32 } 33 34 public static byte[] toMD5byte(byte[] plainText) { 35 StringBuffer buf = new StringBuffer(""); 36 try { 37 // 生成实现指定摘要算法的 MessageDigest 对象。 38 MessageDigest md = MessageDigest.getInstance("MD5"); 39 // 使用指定的字节数组更新摘要。 40 md.update(plainText); 41 // 通过执行诸如填充之类的最终操作完成哈希计算。 42 byte b[] = md.digest(); 43 // 生成具体的md5密码到buf数组 44 int i; 45 46 for (int offset = 0; offset < b.length; offset++) { 47 i = b[offset]; 48 if (i < 0) 49 i += 256; 50 if (i < 16) 51 buf.append("0"); 52 buf.append(Integer.toHexString(i)); 53 } 54 } catch (Exception e) { 55 e.printStackTrace(); 56 } 57 return buf.toString().getBytes(); 58 } 59 60 /** 61 * 解决php与javaMD5加密不同 获取MD5加密后的字符串 62 * 63 * @param str 64 * 明文 65 * @return 加密后的字符串 66 * @throws Exception 67 */ 68 public static String getMD5(String str) throws Exception { 69 /** 创建MD5加密对象 */ 70 MessageDigest md5 = MessageDigest.getInstance("MD5"); 71 /** 进行加密 */ 72 md5.update(str.getBytes("GBK")); 73 /** 获取加密后的字节数组 */ 74 byte[] md5Bytes = md5.digest(); 75 String res = ""; 76 for (int i = 0; i < md5Bytes.length; i++) { 77 int temp = md5Bytes[i] & 0xFF; 78 if (temp <= 0XF) { // 转化成十六进制不够两位,前面加零 79 res += "0"; 80 } 81 res += Integer.toHexString(temp); 82 } 83 return res; 84 } 85 }

java md5加密32位小写_Java生成MD5的方法,简单封装并转为32位小写相关推荐

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

    import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.Byt ...

  2. java md5 16位解密_Java实现MD5(32/16位)大小写加密

    MD5简单介绍 大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法:与之类似,MD5就可以为任何文件(不管其大小.格式.数量)产生一个同样独一无二的&quo ...

  3. java 生成md5 8位_Java生成MD5算法

    MD5即Message-Digest Algorithm 5(信息-摘要算法5),是一种用于产生数字签名的单项散列算法. MD5算法的作用是让大容量信息在用数字签名软件签私人密匙前被"压缩& ...

  4. php中md5加密函数怎么用,php中md5()函数的定义和用法汇总

    PHP加密函数-md5()函数加密什么是MD5()函数?MD5()函数是计算器字符串的 MD5散列值,使用MD5的算法,MD5的全称是Message-Digest Algorithm 5,它的作用是把 ...

  5. thinkphp mysql md5加密_thinkphp会员登录密码验证md5问题。

    会员注册的时候密码md5加密存到数据库了,现在会员登录要md5密码之后去数据库查询应该怎么写?我获取表单md5后去数据库查询为什么不一样了,我的代码是 class AdminAction extend ...

  6. JAVA流水号生成规则,5位字符串,生成上千万uuid,使用0-9,A-Z36位来计算,按默认规则递增

    因业务需要,原始uuid为5位,最多只支持10万条uuid,因业务量剧增,在不影响存量数据的情况下,需要拓展uuid,故将5位0-9的十进制规则,转换为0-9,A-Z36进制规则. 常规原则0000Z ...

  7. java前补零工具类_java生成编码工具类,不足补0

    ~~~~~ 小小工具类!你值得拥有 简单粗暴,直接上代码 import java.text.NumberFormat; /** * @author: Abner * @description: 编码工 ...

  8. java的可执行文件_java生成可执行文件的方法总结

    第一种:在jbuilder中: 首先你要保证Run菜单-->Run     Project能顺利运行 然后Wizards菜单-->Native     Executable     Bui ...

  9. java导出html word文档_java生成带html样式的word文件

    最近在项目中需要将通过富文本编辑器处理过的文字转换为Word,查了很久,大家通常的解决办法是使用Jacob或POI等组件直接生成Word,但是都无法将富文本编辑器处理过的文字保留样式并保存为Word, ...

最新文章

  1. 在研究所工作是什么体验?和互联网公司比,你会怎么选?
  2. ECMAScript5 ES5
  3. xshell 6和xftp 6的下载和使用
  4. CentOS 6.X 关闭不需要的 TTY 方法
  5. Xcode12.5最新快捷键的使用(学会事半功倍)
  6. linux磁盘fio压力测试,fio进行磁盘压力测试
  7. Topology and Geometry in OpenCascade-Face
  8. 《Genesis-3D游戏引擎系列教程-入门篇》九:发布到移动平台
  9. 操作系统(3) 多处理器编程:从入门到放弃
  10. s-msckf代码笔记(二)
  11. android锁屏自动清理,安卓手机如何把锁屏自动清理关掉急
  12. 创建一个简单的MFC程序
  13. 百度编辑器Ueditor 多图上传出现部分照片尺寸不压缩的问题解决
  14. (亲测可用)基于matlab的用自写函数来实现图像的灰度处理sobel canny算子边缘检测
  15. 计算机科学与技术专业课程简介
  16. 在机器学习领域,怎样写好一篇论文
  17. python画父子关系图_python elasticsearch-dsl父子关系
  18. Unity Editor 画地面贴图工具
  19. android 8.1 9.0 10.0 Launcher3禁止拖拽app图标到第一屏
  20. Cesium 中的离屏渲染

热门文章

  1. 开始学习Solaris
  2. 一篇文章带你解析,乐观锁与悲观锁的优缺点
  3. 去中心化交易所前路明朗,基于EOS的去中心化交易所力拔头筹
  4. 快递春节停运时间表刷屏,假的!但或涨价10-20元
  5. socket阻塞导致拿不到信息
  6. 《SolidWorks 2017中文版机械设计从入门到精通)》——2.6 几何关系
  7. 让时间倒流的保存点:用Apache Flink的保存点技术重新处理数据流
  8. WebPack在多页应用项目中的探索
  9. Linux程序编译速度提高方法
  10. Inotify+Rsync实现linux文件实时同步