md5加密
MD5(單項散列演算法)的全稱是Message-Digest Algorithm 5(資訊-摘要演算法),經MD2、MD3和MD4發展而來,
MD5功能:
-
輸入任意長度的資訊,經過處理,輸出32位的資訊;
-
不同的輸入得到的不同的結果(唯一性)
-
根據32位的輸入結果不可能反推出輸入的資訊(不可逆)
MD5用途:
-
防止被篡改,發布檔案時同時發布檔案的MD5值,在對方收到檔案后再次進行MD5計算,最侄訓得的結果一樣,說明未被篡改,
-
防止直接看到明文,這也是它最常見的用途,經常在某些頁面點擊提交后,密碼就通過md5加密,直接由幾位密碼突然填滿了密碼框
-
作為數字簽名,
MD5演算法程序:
MD5演算法詳解
MD5安全性:
MD5是不可能逆向的
目前網上存在一些破解方法,主要是通過窮舉法,
將原文和加密后的MD5一一對應存入字典中,將已知的MD5反查表推算出原文,以空間換時間,
一個采用窮舉法破解MD5加密的網站
前端如何使用MD5演算法:
原理:
用戶提交表單時,攔截表單,將密碼進行MD5加密,加密后再進行提交,
MD5演算法的cdn:<script src="https://cdn.bootcdn.net/ajax/libs/blueimp-md5/2.18.0/js/md5.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.bootcdn.net/ajax/libs/blueimp-md5/2.18.0/js/md5.min.js"></script>
</head>
<body>
<form action="#" method="post" onsubmit="return check()">
<p>
<span>用戶名:</span><input type="text" value="user" name="userName" id="userName">
</p>
<p>
<span>密碼:</span><input type="password" name="userPassword" id="userPassword">
</p>
<button type="submit">提交</button>
</form>
<script>
// 通過check()攔截表單提交,經過MD5加密后在進行提交
var check = function(){
var name = document.getElementById("userName");
var password = document.getElementById("userPassword");
console.log(password.value)
password.value = md5(password.value);
console.log(password.value)
return true;
}
</script>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/278019.html
標籤:其他
下一篇:php反序列化字串逃逸
