加密方法(MD5加密)

一.MD5加密算法

       1.1 MD5算法的定义:MD5是哈希散列算法,对于MD5而言,有两个特性是很重要的,第一:明文数据经过散列以后的值是定长的;第二:是任意一段明文数据,经过散列以后,其结果必须永远是不变的。前者的意思是可能存在有两段明文散列以后得到相同的结果。MD5是哈希散列算法,对于MD5而言,有两个特性是很重要的,第一:明文数据经过散列以后的值是定长的;第二:是任意一段明文数据,经过散列以后,其结果必须永远是不变的。前者的意思是可能存在有两段明文散列以后得到相同的结果,后者的意思是如果我们散列特定的数据,得到的结果一定是相同的.

              (MD5的算法是一个比较常见的算法,在登录注册的时候比较常用,这个定义从百度上抄来的,其实作为程序员没必要了解定义,只需要知道这是一种加密算法,会用就行了)

二.做MD5加密算法是jdk自己带的有

package untils;

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5untils {
    public  String md5(String plainText){
        byte[] secretBytes=null;
        try {
            secretBytes=MessageDigest.getInstance("md5").digest(
                plainText.getBytes());
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("没有md5这个算法");
        }
        String md5Code=new BigInteger(1, secretBytes).toString(16);
        for(int i=0;i<32-md5Code.length();i++){
            md5Code="0"+md5Code;
        }
        return md5Code;
    }

}

三.测试代码

package text;

import untils.MD5untils;

public class Demo01 {
    public static void main(String[] args) {
        String plainText="456664";
        MD5untils md5untils=new MD5untils();
        String result=md5untils.md5(plainText);
        System.out.println(result);
    }

}
原文地址:https://www.cnblogs.com/whr-blogs/p/12221170.html