目錄
- 常見的加密演算法
- Md5
- DES/AES對稱加密
- AES和DES的區別
- RSA加密(非對稱加密演算法)
- base64偽加密
- https加密
常見的加密演算法
Md5
線性散列演算法,可以產出一個128位(16位元組)的散列值,且MD5加密后產生的是一個固定長度(32位或者16位)可知,當在逆向時,看到32位或者16位時可以猜測是用的MD5加密演算法
DES/AES對稱加密
AES和DES的區別
DES全稱Data Encryption Standard,即資料加密標準,是一種使用秘鑰加密的演算法,是一種對稱加密演算法
1.加密后密文長度的不同:
DES加密后密文長度是8的整數倍
AES機密后密文長度是16的整數倍
2.應用場景的不同:
企業級開發使用DES足夠安全
如果要求高使用AES
使用DES/AES進行資料交換時要求雙方都擁有相同的私鑰
DES和AES切換只需要修改CryptoJS.AES<=>CryptoJS.DES
<html>
<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.js"></script>
<script type="text/javascript">
var aseKey="12345678" //定制秘鑰,長度必須為:8/16/32位
var message="i am bobo,who are you?";
//加密DES/AES切換只需要修改CryptoJS.AES<=>CryptoJS.DES
var encrypt=CryptoJS.DES.encrypt(message,CryptoJS.enc.Utf8.parse(aseKey),{
mode:CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
}).toString();
alert(encrypt);//加密后
//解密
var decrypt=CryptoJS.DES.decrypt(encrypt,CryptoJS.enc.Utf8.parse(aseKey),{
mode:CryptoJS.mode.ECB,
padding:CryptoJS.pad.Pkcs7
}}.toString(CryptoJS.enc.Utf8);
alert(decrypt);//解密后
</script>
</html>
總結:看見CryptoJS.DES.decrypt或者CryptoJS.DES.encrypt則為非對稱加密演算法
RSA加密(非對稱加密演算法)
非對稱加密演算法需要兩個密鑰
公開密鑰

總結:在js代碼中看見setPublicKey或者setPrivateKey則是使用了RSA進行了非對稱加密
私鑰是通過公鑰計算生成的
公鑰私鑰可以在線生成:
http://web.chacuo.net/netrsakeypair/
base64偽加密
Base64是一種64個字符來表示任意二進制資料的方法,base64是一種編碼方式而不是加密方式,只是看上去像是個加密而已,
Base64使用A–Z,a–z,0–9,+,/這64個字符實作對資料進行加密

總結:當在閱讀js代碼時,看到Base64字眼時,使用了偽加密
https加密
https是基于http和SSL/TLS實作的一個協議,他可以保證在網路上傳輸的資料都是加密的,從而保證資料安全,
1.http協議是不安全的,
在https誕生前,所有網站都是http協議,而http資料傳輸都是明文,所有可能存在資料泄露和篡改,
2.使用對稱秘鑰進行資料加密
為了防止資料泄露和篡改,我們對資料進行加密,如:生成一個對稱密碼,對該秘鑰分別交給瀏覽器和服務端,他們之間傳輸的資料都是使用對稱秘鑰進行加密和解密
缺點:如何把秘鑰傳給服務器?每個客戶的對稱秘鑰相同,瀏覽器能拿到對稱秘鑰,那么黑客也可以拿到,所以,資料加密也沒有意義了,
3.動態對稱秘鑰和非對稱秘鑰
為了解決對稱秘鑰動態性以及讓客戶端和服務端安全的獲取對稱秘鑰,可以引入非對稱秘鑰機制,

總結:因為直接給服務器發送對稱秘鑰很危險,所以先讓服務器生成一個公鑰和私鑰,并將公鑰發給客戶端,
客戶端生成對稱秘鑰,用服務器給的公鑰把生成的對稱秘鑰進行加密,之后把加密后的對稱秘鑰再發送給客戶端,客戶端使用非對稱秘鑰進行解密,再使用對稱秘鑰加密發送資料給客戶機,客戶機再使用對稱秘鑰進行解密
缺點:在服務器傳給公鑰給客戶機時,黑客可以拿到公鑰,冒充修改自己的公鑰是服務器的公鑰,所以使得后續加密都不安全了,
4.CA證書的應用

總結:找一個信得過的認證機構,給服務器的公鑰做一個認證,證明這個公鑰是該服務器的,客戶機只需要向認證機發送請求驗證該公鑰是不是服務器的,即可解決黑客冒充該公鑰,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/333817.html
標籤:其他
