【开发笔记】- MD5加密
2024-10-21 07:48:35
主要用于对用户密码的加密,保护用户账户安全:
/**
* @author shenruihai
*
*/ import java.security.MessageDigest; import org.apache.commons.logging.Log; public class Md5 {
Log log; public static String getMd5(String s) {
char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; try {
byte[] strTemp = s.getBytes();
MessageDigest mdTemp = MessageDigest.getInstance("md5");
mdTemp.update(strTemp);
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 byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
return new String(str);
} catch (Exception e) {
return null;
}
} /**
* 标准MD5加密
*
* @param inStr
* @return
* @throws Exception
*/
public static String toMD5(String inStr) {
StringBuffer sb = new StringBuffer();
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(inStr.getBytes());
byte b[] = md.digest();
int i;
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
sb.append("0");
sb.append(Integer.toHexString(i));
}
} catch (Exception e) {
return null;
// e.printStackTrace();
}
return sb.toString().toUpperCase();
} public static void main(String[] args) throws Exception {
System.out.println(toMD5("MATICSOFT").toUpperCase());
}
}
最新文章
- linq分页组合查询
- Ajax请求ashx 返回 json 格式数据常见问题
- 【DDD-Apwork框架】事件总线和事件聚合器
- BZOJ 2933([Poi1999]地图-区间Dp)
- SQL语句创建access表
- JBoss快速入门知识
- C语言第一次实验报告
- ASP.net中用到的JWT
- 20181117-python第二章学习小结-part2
- Linux内核源码分析 day01——内存寻址
- Linux命令行文本工具
- tomcat和jdk版本兼容(Tomcat版本要比jdk高)
- 20165220实验二《Java面向对象程序设计》
- android UI:Fragment碎片
- Java并发编程:JMM (Java内存模型) 以及与volatile关键字详解
- 算法之LOWB三人组之插入排序
- 一键查看IE密码!IE PassView简易教程
- Linux系统文件压缩与备份(5)
- CentOS 6.5通过yum的方式安装MySql
- 2018.07.09 顺序对齐(线性dp)
热门文章
- TCP/IP协议栈中的TimeStamp选项
- 动态BGP与静态BGP
- 使用yarn代替npm作为node.js的模块管理器
- 爬虫urllib2 的异常错误处理URLError和HTTPError
- [译]如何比较master分支上与git上任意的一个老版本的区别?
- python初级(302) 2 easygui简单使用
- [LeetCode] 316. Remove Duplicate Letters 移除重复字母
- [LeetCode] 505. The Maze II 迷宫 II
- Bro-Sysmon:一款让Bro-IDS(Bro)监视Windows端点活动的工具
- c#通过socket判断服务器连接是否正常