<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在數位加密演演算法中,通過可劃分為對稱加密和非對稱加密
對稱加密:如AES,DES,3DES
含義:加密和解密使用的是同一把鑰匙。金鑰不能在網路中傳輸,避免被攔截。如果要傳輸,必須要對金鑰進行非對稱加密再加密一次。
優點:演演算法簡單,加密解密容易,效率高,執行快。
缺點:相對來說不算特別安全,只有一把鑰匙,密文如果被攔截,且金鑰也被劫持,那麼,資訊很容易被破譯。
非對稱加密:如RSA DSA RCC
含義:有兩個鑰匙,及公鑰(Public Key)和私鑰(Private Key)。公鑰和私鑰是成對的存在,如果對原文使用公鑰加密,則只能使用對應的私鑰才能解密。通過私鑰經過一系列演演算法是可以推匯出公鑰的,但是無法通過公鑰反向推倒出私鑰,這個過程的單向的。
優點:安全,即使密文被攔截、公鑰被獲取,但是無法獲取到私鑰,也就無法破譯密文。作為接收方,務必要保管好自己的金鑰。
缺點:加密演演算法及其複雜,安全性依賴演演算法與金鑰,而且加密和解密效率很低。
cnpm i -S crypto-js
區域性參照
import CryptoJS from "crypto-js";
前端CBC模式或者ECB模式下的填充方式 Pkcs7,對應後端AES演演算法模式中的 PKCS5Padding 填充方式
ECB(Electronic Code Book電子密碼本)模式
優點:
缺點:
因此,此模式適於加密小訊息。
祕鑰必須為16進位制
encryptData() { // 此處key為16進位制 let key = '385f33cb91484b04a177828829081ab7'; console.log('金鑰:', key); // key格式化處理 key = CryptoJS.enc.Utf8.parse(key); // 加密內容 const polygonGeojson = { type: 'Feature', properties: {}, geometry: { type: 'Polygon', coordinates: [ [ [106, 33], [108.03955078125, 32.2313896627376], [108.25927734375, 33.15594830078649], [106, 33] ] ] } }; const content = JSON.stringify(polygonGeojson); console.log('加密前:', polygonGeojson); // 加密方法 const encryptedContent = CryptoJS.AES.encrypt(content, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); const encStr = encryptedContent.ciphertext.toString(); console.log('加密後:', encStr); // 解密方法 const decryptedContent = CryptoJS.AES.decrypt( CryptoJS.format.Hex.parse(encStr), key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 } ); console.log( '解密:', JSON.parse(CryptoJS.enc.Utf8.stringify(decryptedContent)) ); }
CBC(Cipher Block Chaining,加密塊鏈)模式
優點:
缺點:
CBC模式前、後端需要確定偏移量的值,並且保持一致,這樣才能確保後端解密成功。
encryptData() { // 此處key為16進位制 let key = '385f33cb91484b04a177828829081ab7'; console.log('金鑰:', key); // key格式化處理 key = CryptoJS.enc.Utf8.parse(key); // 偏移量長度為16位元, 注:偏移量需要與後端定義好,保證一致 let iv_key = '37fa77f6a3b0462d'; let iv = CryptoJS.enc.Utf8.parse(iv_key); // 加密內容 const polygonGeojson = { type: 'Feature', properties: {}, geometry: { type: 'Polygon', coordinates: [ [ [106, 33], [108.03955078125, 32.2313896627376], [108.25927734375, 33.15594830078649], [106, 33] ] ] } }; const content = JSON.stringify(polygonGeojson); console.log('加密前:', polygonGeojson); // 加密方法 const encryptedContent = CryptoJS.AES.encrypt(content, key, { iv: iv, mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); const encStr = encryptedContent.ciphertext.toString(); console.log('加密後:', encStr); // 解密方法 const decryptedContent = CryptoJS.AES.decrypt( CryptoJS.format.Hex.parse(encStr), key, { iv: iv, mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 } ); console.log( '解密:', JSON.parse(CryptoJS.enc.Utf8.stringify(decryptedContent)) ); }
https://www.cnblogs.com/cndarren/p/15108270.html
https://blog.csdn.net/qq_40323256/article/details/116947888
到此這篇關於Vue中使用crypto-js AES對稱加密演演算法實現加密解密的文章就介紹到這了,更多相關Vue crypto-js AES對稱加密解密內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45