Ⅰ. はじめに
タイトルの通り「JavaScriptでAESで暗号化と複合する方法」です。
Ⅱ. やり方
1. crypto-jsをインストールする
npm i crypto-js
2. サンプルプログラムを書く
import CryptoJS from 'crypto-js' const key = CryptoJS.enc.Utf8.parse('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') const iv = CryptoJS.enc.Utf8.parse('bbbbbbbbbbbbbbbb') const str = 'helloworld' // 暗号化する let encryptedWordArray = CryptoJS.AES.encrypt(str, key, { mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, iv: iv }) // base64に変換する // const encryptedBase64String = encryptedWordArray.ciphertext.toString(CryptoJS.enc.Base64) const encryptedBase64String = encryptedWordArray.toString() console.log(encryptedBase64String) // base64からwordarrayに変換する encryptedWordArray = CryptoJS.enc.Base64.parse(encryptedBase64String) // 複合する const decryptedWordArray = CryptoJS.AES.decrypt({ciphertext: encryptedWordArray}, key, { mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, iv: iv }) console.log(decryptedWordArray.toString(CryptoJS.enc.Utf8))
実行結果
PH9Cv3Wc46V0EQxB77JPFA== helloworld