java代碼實現MD5加密及驗證方法


MD5加密

在我們的程序中,不管是什么,都會有安全問題,今天就說的是MD5加密的方法

MD5是哈希算法,也就是 從明文A到密文B很容易,但是從密文B到明文A幾乎不可能

也就是說,給你密文,是幾乎無法通過解密來得到明文的。

這個一般用於存儲密碼。也就是數據庫里存的是密文,管理員只能看到密文,而看不到明文。

在pom文件導入相關依賴

        <!--MD5依賴-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.3.2</version>
        </dependency>
        <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
         </dependency>

添加MD5工具類

import org.apache.commons.codec.digest.DigestUtils;

public class Md5 {
    public final static  String md5key = "Ms2";
    /**
     * MD5方法
     * @param text 明文
     * @param key 密鑰
     * @return 密文
     * @throws Exception
     */
    public static String md5(String text, String key) throws Exception {
        //加密后的字符串
        String encodeStr= DigestUtils.md5Hex(text + key);
        System.out.println("MD5加密后的字符串為:encodeStr="+encodeStr);
        return encodeStr;
    }

    /**
     * MD5驗證方法
     * @param text 明文
     * @param key 密鑰
     * @param md5 密文
     * @return true/false
     * @throws Exception
     */
    public static boolean verify(String text, String key, String md5) throws Exception {
        //根據傳入的密鑰進行驗證
        String md5Text = md5(text, key);
        if(md5Text.equalsIgnoreCase(md5))
        {
            System.out.println("MD5驗證通過");
            return true;
        }
        return false;
    }
}

簡單說一下里面的md5方法和verify方法

md5方法

方法說明:加密明文

第一個傳參的參數是需要加密的文字

第二個傳參的參數是需要密鑰

這個方法會return出加密后的MD5密文

verify方法

方法說明:將明文轉密文,密文與密文進行比較,判斷是否一致

第一個參數是明文

第二個參數是密鑰

第三個參數是密文

return 出判斷結果

里面還有一個變量md5key 這個就是我們的密鑰

通過這個密鑰對明文進行加密

使用我們在使用這個方法時

要獲取密鑰可以直接調用這個變量

當然這個密鑰也可以自己設置

這就是我們的MD5加密方法


免責聲明!

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



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