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. CodeForces 558B

    Description Amr has got a large array of size n. Amr doesn't like large arrays so he intends to make ...

  2. Oracle性能诊断艺术-读书笔记(脚本execution_plans截图)

  3. 对象不能从 DBNull 转换为其他类型

    SQL语句:select sum (datediff(second,Begin_Time,End_Time)) as 总时长 from 数据表这是我开始的程序:int 总时长=0;总时长 =Conve ...

  4. sort中的比较函数compare

    sort中的比较函数compare要声明为静态成员函数或全局函数,不能作为普通成员函数,否则会报错: invalid use of non-static member function 因为:非静态成 ...

  5. 37. Sudoku Solver *HARD*

    Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by th ...

  6. Hibernate---运行原理

    Hibernate---运行原理

  7. OC Foundation框架—字符串

    一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:OC不可变数组 NSMutableA ...

  8. 微信access_token全局缓存,处理过期

    //PHP创建access_token.json文件,将access_token 和 生成时间expires 保存在其中, //{"access_token":"xxxx ...

  9. darktrace 亮点是使用的无监督学习(贝叶斯网络、聚类、递归贝叶斯估计)发现未知威胁——使用无人监督 机器学习反而允许系统发现罕见的和以前看不见的威胁,这些威胁本身并不依赖 不完善的训练数据集。 学习正常数据,发现异常!

    先说说他们的产品:企业免疫系统(基于异常发现来识别威胁) 可以看到是面向企业内部安全的! 优点整个网络拓扑的三维可视化企业威胁级别的实时全局概述智能地聚类异常泛频谱观测 - 高阶网络拓扑;特定群集,子 ...

  10. linux 日志编程(总结)

    转自:http://blog.csdn.net/hemmanhui/article/details/4343844 日志主要涉及3个函数,分别是openlog.syslog和closelog函数.表8 ...