加密方法(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);
    }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM