前端數據加密技術


Base64

/* Base64是一種編碼的模式 */
/* 我們可以對任意的數據進行Base64編碼,總是會得到一個字符串(文本文件) ,這個字符串由65個字符拼接組成。*/

/* 任意數據 -Base64編碼-> 字符串 -Base64解碼-> 還原為之前的數據*/
例子
window.btoa("Nice") 加密
window.atob("TmljZQ==") 解碼

JavaScript代碼不支持直接對中文進行Base64轉碼,如果要對中文進行處理那么需要先轉換中文
例子
window.btoa(unescape(encodeURIComponent("我喜歡你"))) 加密
decodeURIComponent(escape(window.atob("5oiR5Zac5qyi5L2g")))
解碼

單向散列函數

/* 特點 */
/* [1] 加密的過程是單向的,是不可逆的(只能加密不能解密)。 */
/* [2] 對任意數據進行加密,得到的字符串都是固定長度的。 */
/* [3] 如果明文(原文)相同,那么密文(散列值)一定相同。 */
/* [4] 如果明文(原文)不同,那么密文一定不同。 */
/* [5] 速度快,效率高。 */

/* 經典算法 */
/* MD4 MD5 */
/* SHA(0-1-2) SHA256 SHA512 ... */

/* 主要應用 */
/* [1] 版權(正版) 序列號 */
/* [2] 文件匹配(驗證)。 */
/* [3] 雲盤(百度|360|...) 雲盤秒傳 */
/* [4] 雲盤(100個視頻-違規視頻) */
/* [5] 注冊和登錄。 */

/* 簡單MD5加密其實並不是特別安全: */
/* 加密模型復雜化 */
/* (0) 單次MD5加密 ★*/
/* (1) 多次MD5加密 ★★*/
/* (2) MD5 + salt 加鹽 ★★★*/
/* (3) MD5加密截取字符串 ★★★★★*/

對稱加密算法

/* 特點 */
/* (1) 加密和解密使用相同的密鑰。 */
/* (2) 速度快,效率高。 */
/* 典型算法 */
/* DES\2DES\3DES 數據加密標准算法 */
/* AES 高級數據加密標簽算法 */
/* 備注:安全性很高,但是仍然存在問題 */
/* [1] 密鑰傳輸安全的問題。 */
/* [2] 要維護數量龐大的密鑰對。 */

非對稱加密算法

/* 特點 */
/* [1] 加密使用公鑰,解密使用私鑰。 */
/* [2] 公鑰是可以公開的,私鑰不能公開(打死都不能說的)。 */
/* 缺點 */
/* 加密和解密的時候速度相對很慢,性能不好。 */
/* 典型加密算法:RSA */


免責聲明!

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



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