java简单实现MD5加密
2024-08-28 06:08:01
1、话不多说,直接上代码-----传入字符串,返回加密码
import java.security.MessageDigest;
import java.text.NumberFormat;
public class MD5Utils { /**
*
* 获取字符串加密后结果
*
* @param text
* 需要加密的字符串
* @return
*/
public static String md5(String text) {
return md5(text, null);
} /**
* 获取字符串加密后结果
*
* @param text
* @param prifix
* @return
*/
public static String md5(String text, String prifix) {
MessageDigest md5 = null;
try {
md5 = MessageDigest.getInstance("MD5");
} catch (Exception e) {
e.printStackTrace();
return "";
} if(null!=prifix && !"".endsWith(prifix)){
text = prifix + text;
}
byte[] originalByte = text.getBytes();
md5.update(originalByte); byte[] newByte = md5.digest();
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < newByte.length; i++) {
if ((newByte[i] & 0xff) < 0x10) {
stringBuilder.append("0");
}
stringBuilder.append(Long.toString(newByte[i] & 0xff, 16));
}
return stringBuilder.toString().toUpperCase();
} public static String md5(String text, long userId) {
MessageDigest md5 = null;
try {
md5 = MessageDigest.getInstance("MD5");
} catch (Exception e) {
e.printStackTrace();
return "";
} text = formatKey(userId) + text; byte[] originalByte = text.getBytes();
md5.update(originalByte); byte[] newByte = md5.digest();
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < newByte.length; i++) {
if ((newByte[i] & 0xff) < 0x10) {
stringBuilder.append("0");
}
stringBuilder.append(Long.toString(newByte[i] & 0xff, 16));
}
return stringBuilder.toString().toUpperCase();
} public static void main(String[] args) {
System.out.println(MD5Utils.md5("admin", "admin"));
System.out.println(MD5Utils.md5("admin"));
}
}
最新文章
- 《一个操作系统的实现》学习笔记(一) bochs源码安装及配置
- 【Java并发编程实战】-----&ldquo;J.U.C&rdquo;:ReentrantLock之三unlock方法分析
- linux有关信号的FAQ
- HTML5桌面通知:notification
- [转]SQL Server字符串处理函数大全
- Bootstrap系列 -- 8. 代码显示
- 2015年第12本(英文第8本):the Old Man and the Sea 老人与海
- 记录一次MVC 3.0错误 HTTP 404您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
- html整理(2)
- Pascal&#39;s Triangle(帕斯卡三角)
- 二十八个 HTML5 特性与技巧
- VS2010/MFC对话框:非模态对话框的创建及显示
- Linux如何查找大文件或目录总结及在全部目录中查找
- javascript中间preventDefault与stopPropagation角色介绍
- 第五章 HQL实用技术
- full join no满连接的使用
- 用phantomjs进行web界面自动化测试的几个注意点
- JsonP的实现原理?
- JAVA对mysql的基本操作
- 我眼中的正则化(Regularization)