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 加密 背景说明 在实际项目中,为了安全性考虑,经常要求账号密码是以加密后的密文形式,保存到数据库中. 这样,即使有人获取到了数据库中的密文密码,也不知道明文密码信息是什么, ...
随机推荐
- python-day34--进程补充
一.进程补充: 1,生产者消费者模型: 两类角色,一类负责生产数据,另外那类负责数据 生产完放到共享空间,另外那类到空间取数据进行处理 好处: 生产数据的同时可以进行数据的处理,不用等(并发效果) 问 ...
- ccf交通规划
一.试题 问题描述 G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统. 建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改 ...
- java回收算法
两个最基本的java回收算法:复制算法和标记清理算法 复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B.此为新生代最常用的算法 ...
- IOS-底层数据结构
Objective-C底层数据结构 类的数据结构 Class(指针) typedef struct objc_class *Class; /* 这是由编译器为每个类产生的数据结构,这个结构定义了一 ...
- shiro中OAuth2 集成
OAuth 角色 资源拥有者(resource owner): 能授权访问受保护资源的一个实体,可以是一个人,那我们称之为最终用户:如新浪微博用户 zhangsan: 资源服务器(resource s ...
- duilib CEditUI 禁止输入中文字符,禁止复制粘贴
1.CEditUI 禁止使用中文输入法 在 CEditUI::DoEvent 函数中,添加代码: if(m_bOnlyEnglishChar && m_pWindow &&am ...
- PHP:第三章——PHP中控制函数的函数
<pre> <?php header("Content-Type:text/html;charset=utf-8"); /******************** ...
- PHP:第二章——PHP中的break一continue一return语句
知识点一:break语句 break 结束当前 for,foreach,while,do-while 或者 switch 结构的执行. break 可以接受一个可选的数字参数来决定跳出 ...
- 小程序animation动画效果(小程序组件案例)
WXML <view class="container"> <view class="page-body"> <view clas ...
- linux page allocation and deallocation
All of the physical pages in the system are described by the mem_map data structure which is a li ...