您好,登錄后才能下訂單哦!
這篇文章主要介紹“web前端常見的加密算法有哪些”,在日常操作中,相信很多人在web前端常見的加密算法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”web前端常見的加密算法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在信息安全越來越受重視的今天,前端的各種加密也變得更加重要。通常跟服務器的交互中,為保障數據傳輸的安全性,避免被人抓包篡改數據,除了https的應用,還需要對傳輸數據進行加解密。
目前常見的加密算法可以分成三類
對稱加密算法:AES、...
非對稱加密算法:RSA、...
Hash算法:MD5、...
對稱加密算法
對稱加密(也叫私鑰加密)指加密和解密使用相同密鑰的加密算法。它要求發送方和接收方在安全通信之前,商定一個密鑰。對稱算法的安全性依賴于密鑰,泄漏密鑰就意味著任何人都可以對他們發送或接收的消息解密,所以密鑰的保密性對通信的安全性至關重要。
特點
優點:算法公開、計算量小、加密速度快、加密效率高。
缺點:在數據傳送前,發送方和接收方必須商定好密鑰,然后雙方保存好密鑰。如果一方的密鑰被泄露,那么加密信息也就不安全了
使用場景:本地數據加密、https通信、網絡傳輸等
AES
AES:高級加密標準(AdvancedEncryptionStandard)為最常見的對稱加密算法(微信小程序加密傳輸就是用這個加密算法的)。
密鑰:用來加密明文的密碼。密鑰為接收方與發送方協商產生,但不可以直接在網絡上傳輸,否則會導致密鑰泄漏,通常是通過非對稱加密算法加密密鑰,然后再通過網絡傳輸給對方,或者直接面對面商量密鑰。密鑰是絕對不可以泄漏的,否則會被攻擊者還原密文,竊取數據。
在項目中需要用到AES加密時,可以使用開源的js庫:crypto-js
varCryptojs=require('crypto-js');
vardata={id:1,text:'HelloWorld'};
//加密生成密文
varciphertext=Cryptojs.AES.encrypt(jsON.stringify(data),'secret_key_123').toString();
//解密得到明文
varbytes=Cryptojs.AES.decrypt(ciphertext,'secret_key_123');
vardecryptedData=jsON.parse(bytes.toString(Cryptojs.enc.Utf8));
到此,關于“web前端常見的加密算法有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。