java代碼怎么實(shí)現(xiàn)MD5加密及驗(yàn)證過程,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
成都創(chuàng)新互聯(lián)是專業(yè)的湘西土家族網(wǎng)站建設(shè)公司,湘西土家族接單;提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行湘西土家族網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
MD5加密
在我們的程序中,不管是什么,都會(huì)有安全問題,今天就說的是MD5加密的方法
MD5是哈希算法,也就是 從明文A到密文B很容易,但是從密文B到明文A幾乎不可能
也就是說,給你密文,是幾乎無法通過解密來得到明文的。
這個(gè)一般用于存儲(chǔ)密碼。也就是數(shù)據(jù)庫里存的是密文,管理員只能看到密文,而看不到明文。
在pom文件導(dǎo)入相關(guān)依賴
添加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驗(yàn)證方法 * @param text 明文 * @param key 密鑰 * @param md5 密文 * @return true/false * @throws Exception */ public static boolean verify(String text, String key, String md5) throws Exception { //根據(jù)傳入的密鑰進(jìn)行驗(yàn)證 String md5Text = md5(text, key); if(md5Text.equalsIgnoreCase(md5)) { System.out.println("MD5驗(yàn)證通過"); return true; } return false; }}
簡(jiǎn)單說一下里面的md5方法和verify方法
md5方法
方法說明:加密明文 第一個(gè)傳參的參數(shù)是需要加密的文字 第二個(gè)傳參的參數(shù)是需要密鑰 這個(gè)方法會(huì)return出加密后的MD5密文
verify方法
方法說明:將明文轉(zhuǎn)密文,密文與密文進(jìn)行比較,判斷是否一致 第一個(gè)參數(shù)是明文 第二個(gè)參數(shù)是密鑰 第三個(gè)參數(shù)是密文 return 出判斷結(jié)果
里面還有一個(gè)變量md5key 這個(gè)就是我們的密鑰
通過這個(gè)密鑰對(duì)明文進(jìn)行加密
使用我們?cè)谑褂眠@個(gè)方法時(shí)
要獲取密鑰可以直接調(diào)用這個(gè)變量
當(dāng)然這個(gè)密鑰也可以自己設(shè)置
這就是我們的MD5加密方法
關(guān)于java代碼怎么實(shí)現(xiàn)MD5加密及驗(yàn)證過程問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。