本文へスキップ

@lockisecurity/crypto-core — JavaScript・TypeScriptのためのAES-GCM暗号化

独自のJavaScriptまたはTypeScriptプロジェクトにAES-GCM暗号化を追加できます。@lockisecurity/crypto-coreは、外部依存関係なしでブラウザネイティブのWebCrypto APIを使用します。Locki拡張機能を支えているのと同じエンジンです。

$ npm install @lockisecurity/crypto-core
import { decrypt, encrypt, generateAESKeyHex } from '@lockisecurity/crypto-core';

const key = await generateAESKeyHex(256);
const sealed = await encrypt('db-password', key); // "[LOCKI:v2:…]"
const plain = await decrypt(sealed, key);
  • AES-128とAES-256に対応

    暗号学的に安全なキーを生成し、AES-128-GCMまたはAES-256-GCMで任意の文字列を暗号化・復号化できます。Lockiと同じアルゴリズムです。

  • 依存関係ゼロ

    WebCrypto APIだけで構築されています。サードパーティの暗号ライブラリもネイティブバインディングも不要で、既存のランタイムだけで動作します。

  • TypeScriptを完全サポート

    完全な型定義が付属しています。追加の@typesパッケージなしで、TypeScriptプロジェクトですぐに使えます。

  • Lockiと互換性のある形式

    暗号化した出力はLocki拡張機能の形式と完全に互換性があります。アプリで暗号化したデータをLockiで復号化でき、その逆も可能です。

  • 安全なキー生成

    WebCryptoのキー生成APIを使い、ブラウザやNode.js環境で、サポートされている任意の長さのAESキーを直接生成できます。