方案一:

/**
    * 1.对文本进行32位小写MD5加密
    * @param plainText 要进行加密的文本
    * @return 加密后的内容
    */
    public static String textToMD5L32(String plainText){
        String result = null;
        //首先判断是否为空
        try{
            MessageDigest md = MessageDigest.getInstance("MD5");           //首先进行实例化和初始化
            byte[] btInput = plainText.getBytes();      //得到一个操作系统默认的字节编码格式的字节数组
            md.update(btInput);                //对得到的字节数组进行处理
            byte[] btResult = md.digest();         //进行哈希计算并返回结果
            StringBuffer sb = new StringBuffer();     //进行哈希计算后得到的数据的长度
            for(byte b : btResult){
                int bt = b&0xff;
                if(bt<16){
                    sb.append(0);
                }
                sb.append(Integer.toHexString(bt));
            }
            result = sb.toString();
        }catch(NoSuchAlgorithmException e){
            e.printStackTrace();
        }
        return result;
    }

方案二:

    public static String getMD5(String source) {
        String s = null;
        char hexChar[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
        'A', 'B', 'C', 'D', 'E', 'F' };
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(source.getBytes());// 使用指定的byte数组更新摘要
            byte[] hashCalc = md.digest();// 完成哈希计算
            char result[] = new char[16 * 2];// MD5结果返回的是32位字符串,每位是16进制表示的
            int k = 0;
            for (int i = 0; i < 16; i++) {// 循环16次,对每个字节进行操作转换
                byte everyByte = hashCalc[i];
                result[k++] = hexChar[everyByte >>> 4 & 0xf];// 对每个字节的高4位进行处理,逻辑右移,再相与
                result[k++] = hexChar[everyByte & 0xf];// 低4位转换
            }
            s = new String(result);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return s;
        }
        public static void main(String[] args) {
        System.out.println(getMD5("a"));
    } 

java系列--MD5加密的更多相关文章

  1. Java C# MD5 加密串一致性

    Java C# MD5 加密串一致性   Java public final static String md5(String s) { char hexDigits[] = { '0', '1',  ...

  2. 使用JAVA进行MD5加密后所遇到的一些问题

    前言:这几天在研究apache shiro如何使用,这好用到了给密码加密的地方,就碰巧研究了下java的MD5加密是如何实现的,下面记录下我遇到的一些小问题. 使用java进行MD5加密非常的简单,代 ...

  3. Java生成MD5加密字符串代码实例

    这篇文章主要介绍了Java生成MD5加密字符串代码实例,本文对MD5的作用作了一些介绍,然后给出了Java下生成MD5加密字符串的代码示例,需要的朋友可以参考下   (1)一般使用的数据库中都会保存用 ...

  4. Java实现MD5加密_字符串加密_文件加密

    Java实现MD5加密,具体代码如下: package com.bstek.tools; import java.io.FileInputStream; import java.io.IOExcept ...

  5. java 实现md5加密的三种方式与解密

      java 实现md5加密的三种方式 CreateTime--2018年5月31日15点04分 Author:Marydon 一.解密 说明:截止文章发布,Java没有实现解密,但是已有网站可以免费 ...

  6. Java实现MD5加密及解密的代码实例分享

    链接:http://www.jb51.net/article/86027.htm Java实现MD5加密及解密的代码实例分享 作者:厦门大学陈黎栋 字体:[增加 减小] 类型:转载 时间:2016-0 ...

  7. Java的MD5加密和解密

    链接:http://www.cnblogs.com/android-blogs/p/5305598.html Java的MD5加密和解密 简单demo: import  java.security.* ...

  8. java加密算法--MD5加密和哈希散列带秘钥加密算法源码

    package com.ompa.common.utils; import java.security.MessageDigest; import java.security.NoSuchAlgori ...

  9. java中MD5加密的小使用

    最近项目中需要用到md5加密,就自己在网上看了看. package com.wxgs.ch01; import java.security.MessageDigest; import java.sec ...

随机推荐

  1. Oracle如何还原数据库

    http://blog.sina.com.cn/s/blog_6c25b1e50101ga0b.html

  2. src和href的区别

    <html><!--头部标签--><!--src和href的区别src:引用,该资源是页面不可缺少的一部分,如(img标签 video标签 radio标签);href:引 ...

  3. we7调用模板如何区分栏目页与详细页

    <a href='/xsdt/0000-00-00-00.html?id=<%# Eval("ID")%>'> 0000-00-00-00.html传参数来 ...

  4. 网页中如何用 CSS 设置打印分页符

    Word 中按 Ctrl + Enter 创建一个分页符,方便打印,其实网页中也可以,用 CSS 的 page-break-after:always;. <p>第 1 页</p> ...

  5. html5语义化标签总结二

    HTML 5的革新之一:语义化标签二文本元素标签.分组元素标签. HTML 5的革新——语义化标签(一)中介绍了一些HTML5新加的一些节元素,一张页面中结构元素构成网页大体,但是也需要其他内容来填充 ...

  6. java多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

    多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify 先看一下java线程运行时各个阶段的运行状态 j ...

  7. javactript关闭窗体,刷新父窗体

    //关闭,父窗口弹出对话框,子窗口直接关闭this.Response.Write("<script language=javascript>window.close();< ...

  8. 自制ichartjs饼图

    饼图:2个数据: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> &l ...

  9. Bundle display name 与 Bundle name 的区别

    Bundle display name 与 Bundle name 的区别是什么?"Bundle Name" and "Bundle display name" ...

  10. NGUI具有流光效果的UISprite

    之前做过一个流光效果(http://www.cnblogs.com/jietian331/p/4748644.html). 现将其改进一下,与NGUI结合起来,提供一个具有流光效果的组件:UIWalk ...