CryptoJS 用前端加密、解密
8295 단어 javascripttutorialcrypto
本篇要解決的問題
一般來說,加密解密這件事兒都是要讓後端來處理,因為前端寫的程式碼全部都會是明碼,加解密的密碼會大辣辣徣下所有.
하지만! 對,就是這個 그러나! 」跟寫「U2Fs+7ZUKvqr+7C=」之類的就是不一樣.
而且 而且 不 也 也 所有 工程師 看到 別人 的 的 頁面 頁面 就 會 去 去 無聊 無聊 翻 翻 翻 쿠키 跟 跟 跟 js 檔 去 解密 吧?? 加上 敢 敢 存在 前端 前端 的 資訊 資訊 不 會 是 是 什麼 重要 了 了 所以 前端 的 的 加 、 解密 就 就 還是 有 機會 用 用 用 用 用 用 重要 重要 重要 重要 重要 重要.
本篇是用 Crypto.js 來進行加解密的動作,選它是因為網路上很多人推薦,GitHub 上星星數也多 …的很簡單, 因此就決定是它了.
CryptoJS 기술 문서: GitHub .
安裝
官方文件提供的安裝方式主要分為二種:前端 Browser、後端 Node.js.
身為一位專業的前端工程師們,我們這邊就傲驕的用前端版的.
前端安裝方式也有二種:直接 CDN 引用、import.
CDN
基本上搜尋「crypto js cdn」,就會看見一些第三方的 CDN 網站有提供,比方 cdnjs .
寫這篇時的最新版本是 4.1.1,可以直接引用:
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
수입
首先先安裝 패키지:
$ npm install crypto-js
# 或
$ yarn add crypto-js
接著는 JS 檔中 import,import 時可以選擇直接整包,也可以只引用 我們有用到的功能.
本篇不會直接 import 整包,而是只 import 有用到的功能:
import AES from 'crypto-js/aes';
import Rabbit from 'crypto-js/rabbit';
import encUtf8 from 'crypto-js/enc-utf8';
사용하다
API 관련 문서: GitBook .
AES 加密解密
AES 加解密是官方提供的範例之一,使用方式很簡單:
import AES from 'crypto-js/aes';
import encUtf8 from 'crypto-js/enc-utf8';
// 加密
const ciphertext = AES.encrypt('要加密的字串', '加密密碼').toString();
// 解密
const bytes = AES.decrypt(ciphertext, '加密密碼');
const originalText = bytes.toString(encUtf8);
加密密碼
就是每個人自行設定,把它當通關密語,加密跟解密的雙方都要用這組密碼來認證一樣.除了加解密字串,文件裡也有提供加解密 개체 的部份,其實就是把 개체 變成字串:
import AES from 'crypto-js/aes';
import encUtf8 from 'crypto-js/enc-utf8';
const obj = [{id: 1}, {id: 2}]
// 加密
var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(obj), '加密密碼').toString();
// 解密
var bytes = CryptoJS.AES.decrypt(ciphertext, '加密密碼');
var originalObj = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));
토끼 加密解密
除了範例上的 AES,看 API 文件裡提到的 Rabbit好像也是蠻厲害的,寫法跟 AES 差不多.
import Rabbit from 'crypto-js/rabbit';
import encUtf8 from 'crypto-js/enc-utf8';
// 加密
const encrypted = Rabbit.encrypt('要加密的字串', '加密密碼');
// 解密
const decrypted = Rabbit.decrypt(encrypted, '加密密碼');
const originalText = decrypted.toString(encUtf8);
Reference
이 문제에 관하여(CryptoJS 用前端加密、解密), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/letswrite/cryptojs-yong-qian-duan-jia-mi-jie-mi-cbp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)