java之md5加密算法
2024-10-08 13:33:46
/**
* @author
*
*/
public class MD5 { private static final String[] digital = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e",
"f" }; /**
*
* <p>
* Title: initMD5
* </p>
* <p>
* Description: md5加密
* </p>
*
* @param txt
* @return
* @throws Exception String
*/
public static String initMD5(String txt) throws Exception { // 获取封装MD5算法的核心类
MessageDigest md5 = MessageDigest.getInstance("MD5"); // 将明文经过md5加密后变成长度位16字节的数组----->32位的字符串(16进制)
byte[] bytes = md5.digest(txt.getBytes("utf-8"));
// 用来保存最终的密文
String miWen = "";
for (byte b : bytes) {
int temp = b;
if (temp < 0) {
temp += 256;
}
// 经过判断后,temp一定是正数
int index1 = temp / 16;// 取商
int index2 = temp % 16;// 取余
miWen += digital[index1] + digital[index2]; }
return miWen;
} /**
*
* <p>Title: finalMD5</p>
* <p>Description: md5最终加密</p>
* @param txt
* @return
* @throws Exception
* String
*/
public static String finalMD5(String txt) throws Exception {
return initMD5(initMD5(initMD5(txt + "md5" + txt) + "md5" + txt));
} public static void main(String[] args) throws Exception {
String miWen = MD5.finalMD5("123456");
System.out.println(miWen);
}
最新文章
- Java中的多线程你只要看这一篇就够了
- 谢欣伦 - OpenDev原创教程 - 蓝牙设备查找类CxBthRadio &; CxBthRadioFind
- Coursera台大机器学习课程笔记6 -- The VC Dimension
- Leetcode: Frog Jump
- I love sneakers!(分组背包HDU3033)
- 转:Java Annotation详解
- C++访问声明
- 试解析Tomcat运行原理(一)--- socket通讯(转)
- Hibernate4读取Clob数据
- 《Swift程序设计语言》中国翻译和学习笔记page23
- EasyUI基础知识Draggable(拖累)
- 两种高性能 I/O 设计模式 Reactor 和 Proactor
- java实现线性表
- 对ES6的yield示例分析
- 三年磨一剑,robot framework 自动化测试框架核心指南,真正讲透robot framework自动化测试框架(笔者新书上架)。
- [R] 繪圖 Par 函数
- 小程序canvas绘制渐变色(简单入门)
- Ubuntu 14.04 安装caffe
- commit lint规范化团队git提交信息
- apache2反向代理