爲什麼MD5算法要加密兩次

爲什麼MD5算法要加密兩次

問題描述

​ 爲什麼MD5算要加密兩次


用戶端加密

爲了防止密碼明文在http上傳輸,則需要在前端進行一次md5 salt加密

使用方式:

前端JQuery md5工具:https://github.com/emn178/js-md5

//首先先聲明鹽
var SALT="1C2t3p4a5i";
var password = md5(str);

服務端加密

服務端將拿到第一次md5加密的結果,這個密碼就是表單提交上來的密碼,我們需要在後端編寫第二道md5加密方式來加密表單傳來的密碼後再與數據庫存儲的兩次md5加密的密碼進行比較,相同才能登陸成功

使用方式:
  • 方法一:使用依賴

    	<dependency>
    		<groupId>commons-codec</groupId>
    		<artifactId>commons-codec</artifactId>
    		<version>1.9</version>
    	</dependency>
    	<dependency>
    		<groupId>org.apache.commons</groupId>
    		<artifactId>commons-lang3</artifactId>
    		<version>3.6</version>
    	</dependency>
    

    使用其MD5方法

  • 方法二:由於Spring可以說是自帶MD5算法 (DigestUtils類)

private static final String SALT = "1C2t3p4a5i";
private static String md5(String password){
    return SALT.charAt(5)+DigestUtils.md5DigestAsHex(password.getBytes())+SALT;
}

好了,言歸正傳:爲啥他要使用兩次呢

​ 因爲:在這裏插入圖片描述

恐怖吧!一般能抓到我們加密數據的都是程序員,一次可能防不了他們,二次的話目前還行,但我估計… 可能以後要用到更多加密次數,或許MD5也要被淘汰

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章