java实现MD5加密算法的实例代码

 更新时间:2013年12月02日 15:26:19   作者:  
这篇文章主要介绍了java实现MD5加密算法的实例代码,有需要的朋友可以参考一下

复制代码 代码如下:

package other;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/*
 * MD5 算法
*/
public class MD5 {

    // 全局数组
    private final static String[] strDigits = { "0", "1", "2", "3", "4", "5",
            "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

    public MD5() {
    }

    // 返回形式为数字跟字符串
    private static String byteToArrayString(byte bByte) {
        int iRet = bByte;
        // System.out.println("iRet="+iRet);
        if (iRet < 0) {
            iRet += 256;
        }
        int iD1 = iRet / 16;
        int iD2 = iRet % 16;
        return strDigits[iD1] + strDigits[iD2];
    }

    // 返回形式只为数字
    private static String byteToNum(byte bByte) {
        int iRet = bByte;
        System.out.println("iRet1=" + iRet);
        if (iRet < 0) {
            iRet += 256;
        }
        return String.valueOf(iRet);
    }

    // 转换字节数组为16进制字串
    private static String byteToString(byte[] bByte) {
        StringBuffer sBuffer = new StringBuffer();
        for (int i = 0; i < bByte.length; i++) {
            sBuffer.append(byteToArrayString(bByte[i]));
        }
        return sBuffer.toString();
    }

    public static String GetMD5Code(String strObj) {
        String resultString = null;
        try {
            resultString = new String(strObj);
            MessageDigest md = MessageDigest.getInstance("MD5");
            // md.digest() 该函数返回值为存放哈希值结果的byte数组
            resultString = byteToString(md.digest(strObj.getBytes()));
        } catch (NoSuchAlgorithmException ex) {
            ex.printStackTrace();
        }
        return resultString;
    }

    public static void main(String[] args) {
        MD5 getMD5 = new MD5();
        System.out.println(getMD5.GetMD5Code("000000"));
    }
}

相关文章

  • java使用java.io.File类和java.nio.file.Path类对文件重命名

    java使用java.io.File类和java.nio.file.Path类对文件重命名

    这篇文章主要给大家介绍了关于java使用java.io.File类和java.nio.file.Path类对文件重命名的相关资料,本文仅为日常操作记录,方便后期使用查找本地电脑文件太多了,又不想一个一个重命名,改名字什么的很麻烦,需要的朋友可以参考下
    2024-02-02
  • java之多线程抢火车票的实现示例

    java之多线程抢火车票的实现示例

    生活中有很多多线程的案例,购票就是一个很常见的问题,本文主要介绍了java之多线程抢火车票的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • 详细介绍Java阿里云的短信验证码实现

    详细介绍Java阿里云的短信验证码实现

    这篇文章主要介绍了详细介绍Java阿里云的短信验证码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Spring Security十分钟入门教程

    Spring Security十分钟入门教程

    这篇文章主要介绍了Spring Security入门教程,Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架
    2022-09-09
  • Java中的synchronized关键字

    Java中的synchronized关键字

    这篇文章主要介绍了Java中的synchronized关键字,synchronized可以保证方法或代码块在运行时,同一时刻只有一个线程可以进入到临界区(互斥性),同时它还保证了共享变量的内存可见性,下面我们就来看看你文章对synchronized锁的介绍,需要的朋友也可以参考一下
    2021-12-12
  • Java8 使用流抽取List<T>集合中T的某个属性操作

    Java8 使用流抽取List<T>集合中T的某个属性操作

    这篇文章主要介绍了Java8 使用流抽取List<T>集合中T的某个属性操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 详解SpringCloud是如何动态更新配置的

    详解SpringCloud是如何动态更新配置的

    spring cloud在config配置管理的基础上,提供了consul config的配置管理和动态监听,那么这里面到底是怎样实现的,本文将为你揭秘,感兴趣的小伙伴可以跟着小伙伴一起来学习
    2023-06-06
  • Java 自定义注解在登录验证的应用示例

    Java 自定义注解在登录验证的应用示例

    本文主要介绍了Java 自定义注解在登录验证的应用示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Mybatis分页插件PageHelper的配置和简单使用方法(推荐)

    Mybatis分页插件PageHelper的配置和简单使用方法(推荐)

    在使用Java Spring开发的时候,Mybatis算是对数据库操作的利器了。这篇文章主要介绍了Mybatis分页插件PageHelper的配置和使用方法,需要的朋友可以参考下
    2017-12-12
  • Java实现布隆过滤器的示例详解

    Java实现布隆过滤器的示例详解

    布隆过滤器(Bloom Filter)是1970年由布隆提出来的,实际上是由一个很长的二进制数组+一系列hash算法映射函数,用于判断一个元素是否存在于集合中。本文主要介绍了Java实现布隆过滤器的示例代码,希望对大家有所帮助
    2023-03-03

最新评论