JAVA中MD5加密实现

MD5加密实现

 结

package com.pb;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;

/*
 * 验证MD5
 * 1.初始化MessageDigest信息摘要对象
 * 2.传入需要计算的字符串更新摘要信息
 * 3.计算信息摘要
 * 4.将byte[] 转换为找度为32位的16进制字符串
 */
public class MD5 {
    /*
     * 生成md5 有传入参数字符串
     */
    public void generateMD5(String input){

        try {
            //1.初始化MessageDigest信息摘要对象,并指定为MD5不分大小写都可以
            MessageDigest md=MessageDigest.getInstance("md5");
             //2.传入需要计算的字符串更新摘要信息,传入的为字节数组byte[],
            //将字符串转换为字节数组使用getBytes()方法完成
            //指定时其字符编码 为utf-8
            md.update(input.getBytes("utf-8"));
             //3.计算信息摘要digest()方法
            //返回值为字节数组
            byte [] hashCode=md.digest();
             //4.将byte[] 转换为找度为32位的16进制字符串
                //声明StringBuffer对象来存放最后的值
            StringBuffer sb=new StringBuffer();
            //遍历字节数组
            for(byte b:hashCode){
                //对数组内容转化为16进制,
                sb.append(Character.forDigit(b>>4&0xf, 16));
                //换2次为32位的16进制
                sb.append(Character.forDigit(b&0xf, 16));
            }
            System.out.println("加密后的结果是:"+sb.toString());
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        //声明加密MD5类的对象
        MD5 md5=new MD5();
        //使用Scanner来输入一个字符
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入要加密的内容:");
        String input = scanner.nextLine();
        //调用加密方法
        md5.generateMD5(input);

    }

}

结果:

请输入要加密的内容:
学习MD5加密过程
加密后的结果是:b826cdac46f01dcc8ccc60a76cebf858
时间: 2024-10-23 08:25:18

JAVA中MD5加密实现的相关文章

java中MD5加密的小使用

最近项目中需要用到md5加密,就自己在网上看了看. package com.wxgs.ch01; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Encoder; public class TestMD { public static void main(String[] args) { String oldpwd=md5Add("12

java中md5加密方法

package com.func; import java.io.UnsupportedEncodingException;import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException; public class Md5 { public static String getMd5(String plainText) { try { Messa

关于java中MD5加密(可直接使用)

本文转自:http://www.cnblogs.com/solove/archive/2011/10/18/2216715.html 上部分是转载的关于字符串的加密,后半部分则比较全,包括字符串.文件.字节数组.等 package util; import java.security.MessageDigest; public class Encript { //十六进制下数字到字符的映射数组 private final static String[] hexDigits = {"0"

Java中md5加密

方法一. public final static String md5(String s) { char hexDigits[] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; try { byte[] strTemp = s.getBytes(); MessageDigest mdTemp = MessageDigest.getInstance("MD5"); mdTemp.update(str

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

链接:http://www.jb51.net/article/86027.htm Java实现MD5加密及解密的代码实例分享 作者:厦门大学陈黎栋 字体:[增加 减小] 类型:转载 时间:2016-06-07我要评论 如果对安全性的需求不是太高,MD5仍是使用非常方便和普及的加密方式,比如Java中自带的MessageDigest类就提供了支持,这里就为大家带来Java实现MD5加密及解密的代码实例分享: 基础:MessageDigest类的使用 其实要在Java中完成MD5加密,Message

iOS中MD5加密字符串实现

在说原型模式之前,我们先来看java里面的深复制和浅复制: 1. 浅复制:被复制的对象的所有变量都持有和原来对象的变量相同的值,而所有的对其他对象的引用都指向原来的对象. 2. 深复制:被复制对象的所有变量都含有与原来对象相同的值,除去那些引用其他变量的对象.那些引用其他对象的变量将指向被复制过来的新对象,而不是原来那些被引用的对象.深复制需要把要复制的对象的所有引用都复制一遍. 这两者的区别就是关于引用对象的处理,浅复制是不考虑引用对象,而深复制需要考虑引用对象的问题. 对java中的clon

Java中的加密与解密

Java中的加密与解密主要对数据的安全性提供保障,分为对称和非对称的,对称表示加密密钥和解密密钥是同一个密钥,因此也常常称作私密密钥或秘密密钥,非对称密钥表示加密密钥和解密为两个不同的密钥,一个为公共密钥,另一个则为私密密钥.对称加密解密算法有DES.AES等,非对称加密解密算法有RSA.DH等.对于数据的加密与解密我们通常通过生成密钥,然后通过加密与解密操作类利用密钥对数据进行加密与解密,接下来我们看看Java中如何实现对称.非对称加密与解密. 对称加密与解密:通过KeyGenerator(密

Java实现MD5加密和文件校验

MD5简介: MD5的全称:Message-Digest Algorithm 5(信息-摘要算法5) MD5的加密方式是一种哈希加密.一些主流的编程语言都已经实现了MD5的加密,所以如果你的程序或是系统涉及到在多种语言之间的校验,那么MD5可以是备选之一.不过因为MD5是采用哈希函数来进行的加密,所以它无关密钥,也就是说在确定了明文的情况下,MD5就可以加密.不过MD5是不可逆的,只能加密,不能解密. MD5加密字符串: public class Md5Util { // 标准的构造函数,调用m

Java 关于md5加密

package com.mi.util; /** * md5+salt 长度为32的加密 * @author admin * */ public class MD5 { public static void main(String[] args) { MD5 md5 = new MD5(); md5.getMD5ofStr("799549598txj/"); /** * 第一次:8C40EBEEFA2085F6E420F3E1493670EC 32 * 第二次:8C40EBEEFA20