java中使用MD5加密的算法
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加密的算法的更多相关文章
- Java中使用MD5加密的简单实现
import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorith ...
- java中使用MD5加密技术
在项目中经常会对一些信息进行加密,现在常用的信息加密技术有:MD5.RSA.DES等,今天主要说一下,md5加密,以及如何在java代码根据自己的业务需求使用md5. MD5简介: MD5即Messa ...
- Java中进行Md5加密
java文件 https://pan.baidu.com/s/1kXcif35 密码:3cjd 代码案例: package cn.itcast.estore.utils; import java.m ...
- 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 ...
- java 中使用MD5加密 , 入库时对密码进行加密
import lombok.extern.slf4j.Slf4j; import java.security.MessageDigest; @Slf4j public class MD5Util { ...
- java中使用MD5进行加密 BASE64Encoder 编码
原文地址:http://www.cnblogs.com/weiwangnuanyang/articles/4326336.html java中使用MD5进行加密 在各种应用系统的开发中,经常需 ...
- java中使用MD5进行加密
java中使用MD5进行加密 在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍工作中常用的 MD5加密算法,希 ...
- Java 自带MD5加密 Demo
package demo; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; pub ...
- Java 语言实现 MD5 加密
Java 语言实现 MD5 加密 背景说明 在实际项目中,为了安全性考虑,经常要求账号密码是以加密后的密文形式,保存到数据库中. 这样,即使有人获取到了数据库中的密文密码,也不知道明文密码信息是什么, ...
随机推荐
- mysql日期查询大全
-- 查询昨日一整天的数据 DAY) ,'%Y-%m-%d 23:59:59') AS '昨日结束时间' -- 查询今日开始到当前时间的数据 DAY) ,'%Y-%m-%d %H:%i:%s') AS ...
- python-day9-数据类型总结
数据类型总结: 常用: 数字 字符串 列表 元组 字典 不常用:集合 1.按照存值个数: 1个:数字,字符串 多个:列表,元组,字典,(集合) 2.按照可变不可变: 可变:列表,字典,(集合) 不可 ...
- UVA-12558 Egyptian Fractions (HARD version) (IDA* 或 迭代加深搜索)
题目大意:经典的埃及分数问题. 代码如下: # include<iostream> # include<cstdio> # include<cstring> # i ...
- Linux,du、df统计磁盘情况不一致
转载:http://blog.linezing.com/?p=2136 在运维Linux服务器时,会碰到需要查看硬盘空间的情况,这时候,通常会使用df -lh命令来检查每个挂载了文件系统的硬盘的总量和 ...
- Windows各种各种消息投递函数
1.SendMessage:发送消息给指定的窗口过程:直到窗口过程处理了消息才返回. 2.PostMessage:将消息放入消息队列(与指定窗口创建的线程相关)中:无需等待消息处理,立即返回. 不 ...
- selenium(二)查找定位目标 ID XPATH CSS 操作目标
简介: 我们只打开一个页面是没有什么意义的. 尽管你可以get很多次. selenium可以做的更多,比如找到百度的搜索框,输入我们要搜索的内容,再用鼠标点击搜索按钮,再把搜索结果提取出来…… 这篇文 ...
- POJ 1504 Adding Reversed Numbers
/*Sample Input 3 24 1 4358 754 305 Sample Output 34 1998 */ 值得总结的几点就是: 1.atoi函数将字符串转化为整型数字(类似于强制转换) ...
- (转)Secondary NameNode的作用
在Hadoop中,有一些命名不好的模块,Secondary NameNode是其中之一.从它的名字上看,它给人的感觉就像是NameNode的备份.但它实际上却不是.很多Hadoop的初学者都很疑惑,S ...
- auto类型说明符的注意事项
1.auto类型说明符,是C++11标准下的,它能让编译器自行判断表达式的类型. 2.auto也能在一条语句上声明多个变量,但是,该语句上的多个变量的类型,必须一致. 3.编译器推断出来auto类型可 ...
- [翻译]HTTP: Response Code
原文地址:HTTP: Response Code 在上一篇文章中,我们总结说HTTP管理客户端和服务端之间的交互,并且解释HTTP头部的概念.在随后的系列文章中我们将讨论更多关于以下方面的信息:对交互 ...