文档章节

MD5 的加密

金丨豆
 金丨豆
发布于 2016/07/24 17:43
字数 268
阅读 91
收藏 0

本人博客地址:http://my.oschina.net/lijindou/blog

转载请标明原址:http://my.oschina.net/lijindou/blog/717003

/**
 * Created by admin on 2016/7/21.
 */

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * 对外提供getMD5(String)方法
 *
 * @author randyjia
 */
public class MD5 {

    public static String getMD5(String val) throws NoSuchAlgorithmException {
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        md5.update(val.getBytes());
        byte[] m = md5.digest();//加密
        return getString(m);
    }

    private static String getString(byte[] b) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < b.length; i++) {
            sb.append(b[i]);
        }
        return sb.toString();
    }
}

使用的时候直接  MD5.getMD5(String);

补充 2016/08/23

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Utils {
    /*
     * MD5加密算法
     * 生成的是32位的算法
     */
    public static String encode(String text){

        try {
            MessageDigest digest = MessageDigest.getInstance("md5");
            byte[] result = digest.digest(text.getBytes());
            StringBuilder sb =new StringBuilder();
            for(byte b:result){
                int number = b&0xff;
                String hex = Integer.toHexString(number);
                if(hex.length() == 1){
                    sb.append("0"+hex);
                }else{
                    sb.append(hex);
                }
            }
            return sb.toString();
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return "" ;
    }

上面的方法生成的是32位小写的,如果需要生成大写的就在sb.toString()后加.toUpperCase()便可。

32位小写

return sb.toString();

32位大写

return sb.toString().toUpperCase();

16位小写

return sb.toString().substring(8,24);

16位大写

return sb.toString().substring(8,24).toUpperCase();

 

© 著作权归作者所有

共有 人打赏支持
金丨豆
粉丝 8
博文 41
码字总数 26382
作品 0
深圳
程序员
私信 提问
在vue项目中使用md5.js及base64.js

1.安装 npm install --save js-base64 npm install --save js-md5 2.引入 import md5 from "js-md5"; Vue.prototype.Base64 = require('js-base64').Base64; 3.使用 encrypt() { let base64......

灰白发
08/13
0
0
iOS 常见信息加密方法

NO.1 MD5 MD5加密是最常用的加密方法之一,是从一段字符串中通过相应特征生成一段32位的数字字母混合码。MD5主要特点是不可逆,相同数据的MD5值肯定一样,不同数据的MD5值不一样(也不是绝对...

FTD_SL
2016/08/05
16
0
iOS里常见的几种信息编码、加密方法简单总结

一.MD5 MD5编码是最常用的编码方法之一,是从一段字符串中通过相应特征生成一段32位的数字字母混合码。 MD5主要特点是 不可逆,相同数据的MD5值肯定一样,不同数据的MD5值不一样(也不是绝对...

DevShaw
2016/04/07
124
0
2.请求安全-- MD5的必要性以及实际应用场景

MD5的必要性以及实际应用场景 前言 MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希...

喵了_个咪
2015/08/21
0
0
关于MD5算法的问题。。

大家好!问题是这样的:我今天介绍MD5加密算法时,一个老师反驳我说MD5算法不算是加密算法,他的理由是加密算法都是可逆的,而MD5算法不是可逆的,所以不能叫做加密算法。我想请问大家,这个...

enjoy
2011/07/24
3.8K
16

没有更多内容

加载失败,请刷新页面

加载更多

设计模式之观察者模式

本片博客主要翻译这篇文章: https://www.journaldev.com/1739/observer-design-pattern-in-java 由于翻译水平有限,自认为许多地方翻译不恰当,欢迎各位给出宝贵的建议,建议大家去阅读原文...

firepation
17分钟前
0
0
Js中DOM事件绑定分析

在这篇文章中小编给大家整理了关于JS中DOM事件绑定的相关知识点,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 #Js事件绑定 Ja...

前端攻城小牛
22分钟前
2
0
指令、伪操作、伪指令和宏指令区别

汇编语言程序中的语句可以由指令、伪指令和宏指令组成。 指令:每一条指令都对应一种CPU操作。 伪指令又称为伪操作,它是在对源程序汇编期间由汇编程序处理的操作,它们可以完成如处理器选择...

二营长意大利炮
23分钟前
2
0
SQL Server SQL语句删除索引

当删除索引提示超时时候,可以使用SQL语句删除索引,可以避免删除索引超时问题。 use [数据库名]drop index [索引名称] on [表名]

产吅经理
23分钟前
1
0
深入解析Axios 常用的请求方法别名

下面小编就为大家分享一篇Axios 常用的请求方法别名,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 #Axios 是一个基于 promise ...

前端攻城老湿
29分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部