MD5,全名Message Digest Algorithm 5,中文名为消息摘要算法第五版,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。以下是JAVA语言中使用MD5加密的工具类。

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; public class MD5Util {
/**
* 对字符串进行MD5摘要加密,返回结果与MySQL的MD5函数一致
*
* @param input
* @return 返回值中的字母为小写
*/
public static String md5(String input) {
if (null == input) {
input = "";
}
String result = "";
try {
// MessageDigest类用于为应用程序提供信息摘要算法的功能,如MD5或SHA算法
MessageDigest md = MessageDigest.getInstance("MD5");
// 获取输入
md.update(input.getBytes());
// 获得产出(有符号的哈希值字节数组,包含16个元素)
byte output[] = md.digest(); // 32位的加密字符串
StringBuilder builder = new StringBuilder(32);
// 下面进行十六进制的转换
for (int offset = 0; offset < output.length; offset++) {
// 转变成对应的ASSIC值
int value = output[offset];
// 将负数转为正数(最终返回结果是无符号的)
if (value < 0) {
value += 256;
}
// 小于16,转为十六进制后只有一个字节,左边追加0来补足2个字节
if (value < 16) {
builder.append("0");
}
// 将16位byte[]转换为32位无符号String
builder.append(Integer.toHexString(value));
}
result = builder.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return result;
} // 测试
public static void main(String[] args) {
String m1 = md5("123");
String m2 = md5("124");
String m3 = md5("");
System.out.println("m1=" + m1);
System.out.println("m2=" + m2);
System.out.println("m3=" + m3);
}
}

java中使用MD5加密的算法的更多相关文章

  1. Java中使用MD5加密的简单实现

    import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorith ...

  2. java中使用MD5加密技术

    在项目中经常会对一些信息进行加密,现在常用的信息加密技术有:MD5.RSA.DES等,今天主要说一下,md5加密,以及如何在java代码根据自己的业务需求使用md5. MD5简介: MD5即Messa ...

  3. Java中进行Md5加密

    java文件 https://pan.baidu.com/s/1kXcif35  密码:3cjd 代码案例: package cn.itcast.estore.utils; import java.m ...

  4. JAVA中使用MD5加密实现密码加密

    1.新建Md5.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 package c ...

  5. java 中使用MD5加密 , 入库时对密码进行加密

    import lombok.extern.slf4j.Slf4j; import java.security.MessageDigest; @Slf4j public class MD5Util { ...

  6. java中使用MD5进行加密 BASE64Encoder 编码

    原文地址:http://www.cnblogs.com/weiwangnuanyang/articles/4326336.html java中使用MD5进行加密     在各种应用系统的开发中,经常需 ...

  7. java中使用MD5进行加密

    java中使用MD5进行加密     在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍工作中常用的 MD5加密算法,希 ...

  8. Java 自带MD5加密 Demo

    package demo; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; pub ...

  9. Java 语言实现 MD5 加密

    Java 语言实现 MD5 加密 背景说明 在实际项目中,为了安全性考虑,经常要求账号密码是以加密后的密文形式,保存到数据库中. 这样,即使有人获取到了数据库中的密文密码,也不知道明文密码信息是什么, ...

随机推荐

  1. Mysql查询用逗号分隔的字段-字符串函数FIND_IN_SET(),以及此函数与in()函数的区别

    查询用逗号分隔的字段,可以用字符串函数FIND_IN_SET(): 查询数据库表中某个字段(值分行显示),可以用函数in(). 今天工作中遇到一个问题,就是用FIND_IN_SET()函数解决的. 第 ...

  2. zzuli1985(dp/水dfs郑轻比赛)

    再一次感受到dp的威力 1985: 即将到来的新生赛 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 112  Solved: 28 SubmitStat ...

  3. Oracle OAF 应用构建基础之实现控制器 (转)

    原文地址: Oracle OAF 应用构建基础之实现控制器 设计一个OA Controller 如OA Framework Page解析中所描述的,OA Controller定义了web beans的 ...

  4. django url 使用总结

    1 无参数情况 配置URL及其视图如下: (r'^hello/$', hello) def hello(request): return HttpResponse("Hello World& ...

  5. [LeetCode] 268. Missing Number ☆(丢失的数字)

    转载:http://www.cnblogs.com/grandyang/p/4756677.html Given an array containing n distinct numbers take ...

  6. 074——VUE中vuex之模块化modules开发实例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. customization arm ubuntu rootfs

    requirment: want to get arm ubuntu rootfs method: base on debootstrap tool, customization full funct ...

  8. linux系统管理的基本命令

    系统管理类命令: 关机或重启: halt, poweroff reboot -f: 强制,不调用shutdown -p: 切断电源 shutdown: shutdown [OPTION]... TIM ...

  9. windowns 下备份mysql数据库

    @echo off & setlocal ENABLEEXTENSIONS :: ---------- 配置项 ---------- :: 备份放置的路径,加 \ set BACKUP_PAT ...

  10. [追加评论]三款SDR平台对比:HackRF,bladeRF和USRP

    这三个月,有幸把3种板子都用到了.说说使用体会.   我用过其中的HackRF,bladeRF x115,USRP B210.我并没有仔细的测量各种板子的射频指标什么的,只是做各种实验的时候用到它们. ...