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. python-day34--进程补充

    一.进程补充: 1,生产者消费者模型: 两类角色,一类负责生产数据,另外那类负责数据 生产完放到共享空间,另外那类到空间取数据进行处理 好处: 生产数据的同时可以进行数据的处理,不用等(并发效果) 问 ...

  2. ccf交通规划

    一.试题 问题描述  G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统.  建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改 ...

  3. java回收算法

    两个最基本的java回收算法:复制算法和标记清理算法                 复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B.此为新生代最常用的算法              ...

  4. IOS-底层数据结构

      Objective-C底层数据结构 类的数据结构 Class(指针) typedef struct objc_class *Class; /* 这是由编译器为每个类产生的数据结构,这个结构定义了一 ...

  5. shiro中OAuth2 集成

    OAuth 角色 资源拥有者(resource owner): 能授权访问受保护资源的一个实体,可以是一个人,那我们称之为最终用户:如新浪微博用户 zhangsan: 资源服务器(resource s ...

  6. duilib CEditUI 禁止输入中文字符,禁止复制粘贴

    1.CEditUI 禁止使用中文输入法 在 CEditUI::DoEvent 函数中,添加代码: if(m_bOnlyEnglishChar && m_pWindow &&am ...

  7. PHP:第三章——PHP中控制函数的函数

    <pre> <?php header("Content-Type:text/html;charset=utf-8"); /******************** ...

  8. PHP:第二章——PHP中的break一continue一return语句

    知识点一:break语句     break 结束当前 for,foreach,while,do-while 或者 switch 结构的执行.     break 可以接受一个可选的数字参数来决定跳出 ...

  9. 小程序animation动画效果(小程序组件案例)

    WXML <view class="container"> <view class="page-body"> <view clas ...

  10. 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 ...