fkm blog

software開発に関することを書いていきます

ブラウザでファイルの暗号化(1)

まずは暗号化/復号の部分。 Crypto-JS を使った。

$ npm install --save crypto-js
$ npm install --save-dev @types/crypto-js

公式ドキュメント

アルゴリズムとしてAESを使ってみる。

暗号化

input が暗号化したい文字列。key が鍵。鍵は短い場合、いい感じに扱ってくれるみたい。

const encrypted = CryptoJS.AES.encrypt(input, key).toString()

復号

AESは共通鍵を使うので、暗号化で使った key を渡す。

const bytes = CryptoJS.AES.decrypt(encrypted, key);
const input =  bytes.toString(CryptoJS.enc.Utf8);