HSM Kit について
HSM Kitは、暗号化、HSMキー、PKI、決済セキュリティを扱う開発者やテスター、セキュリティエンジニア向けのブラウザツール集です。処理はすべてローカルで行われ、キーや機密データは端末外へ送信されません。
主な機能
- 01暗号・決済関連の44以上のツール
- 02ブラウザ内でのローカル処理
- 03PWAインストールとオフライン利用
- 046言語対応
- 05ツールと連携する技術ガイド
活用シーン
- 01Base64のエンコードやLuhnチェック
- 02キーシェアの生成とKCV計算
- 03ISO 8583メッセージや決済データの解析
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| payload | string | はい | 末尾のチェックディジットを除く数字 |
詳細
HSM Kit - プロフェッショナルなオンライン暗号化ツールキット
🔐 プロフェッショナルな暗号化・鍵管理ツール。100%クライアントサイドで、安全かつ信頼性に優れています
📖 はじめに
HSM Kit は、金融、決済、セキュリティ分野の開発者、テスター、セキュリティエンジニア向けに設計された、プロフェッショナルなオンライン暗号化ツールキットです。HSM の鍵管理、決済セキュリティ、PKI 証明書、暗号アルゴリズムを網羅する 44 種類以上のツールを提供し、すべてブラウザー上で実行されます。
主な特長
- セキュリティを最優先 - すべての処理をクライアントサイドで実行し、鍵や機密データがデバイスの外部に送信されることはありません
- プロフェッショナルで充実 - HSM の鍵管理、決済セキュリティ、PKI 証明書、暗号アルゴリズムを網羅する 44 種類以上のツール
- すぐに利用可能 - ブラウザーを開くだけですぐに作業を開始でき、PWA のインストールに対応しています。Mac/Windows/Linux/モバイルで動作します
- オープンソース - コードは公開され、監査可能であり、金融業界のコンプライアンス要件を満たします
✨ 機能
| 機能 | 説明 |
|---|---|
| 🔒 ローカル処理 | すべての暗号処理をブラウザー上で実行し、データはアップロードされません |
| 📱 PWA 対応 | デスクトップにインストールでき、ネイティブアプリのように動作し、オフラインでも利用できます |
| 🌐 クロスプラットフォーム | Mac/Windows/Linux/iOS/Android に対応しています |
| 🌍 多言語対応 | 英語、中国語、日本語、韓国語、ドイツ語、フランス語に対応し、翻訳率は 100%です |
| 🌙 ダークモード | 昼夜のテーマを切り替えて、目を保護できます |
| ♿ アクセシビリティ | ARIA ラベル、キーボード操作、本文へのスキップ、aria-live 領域に対応し、WCAG 2.1 AA に準拠しています |
| ⚡ 遅延読み込み | ルート単位でコードを分割し、現在のページのみを読み込みます |
| 🔍 SEO 最適化 | 静的 HTML の事前レンダリング、Schema マークアップ、多言語 hreflang に対応しています |
| 📚 ナレッジベース | 英語 43 件、中国語 43 件の技術記事を、静的でインデックス可能な形式で提供します |
| 🇨🇳 ローカライズされたツール URL | 需要の高い 8 つのツールに、相互 hreflang を設定した正規の中国語 URL があります |
| 🧪 公開テストベクトル | CryptoJS と Web Crypto の回帰テストで検証済みの、ダウンロード可能な AES JSON ベクトル |
| 📝 コンテキストを保持するサンプル | ワンクリックでサンプルを適用しても、選択中のモード、形式、タブ、有効化した切り替え設定が保持されます |
| ✅ 一貫した入力検証 | すべてのツール入力に共通の、長さと形式を示すグレー/緑/赤の状態表示 |
| ⭐ お気に入りと最近使ったツール | ローカルのお気に入りと、アカウント不要の過去 90 日間の利用履歴 |
| 🔗 ワークフローの案内 | 各ツールから、次に関連するツールや参考ガイドにアクセスできます |
| 📊 プライバシーに配慮したイベント | 任意の GA/Zaraz イベントには操作 ID とツール ID のみが含まれ、フォーム値や結果は含まれません |
| 🧪 テストカバレッジ | 100 件以上の Vitest テストに加え、44 種類すべてのツールを対象とする本番ページのスモークテスト |
🛠️ ツールモジュール
🔐 暗号化/復号ツール(5)
| ツール | 説明 | ルート |
|---|---|---|
| AES 暗号化 | AES-128/192/256、ECB/CBC/CFB/OFB/CTR モード | /aes-encryption |
| DES/3DES 暗号化 | DES/Triple DES、複数のパディングオプション | /des-encryption |
| RSA 暗号化 | RSA の暗号化/復号/署名/検証、PKCS#1/OAEP | /rsa-encryption |
| ECC/ECDSA | 楕円曲線、secp256k1/P-256/P-384 | /ecc-encryption |
| FPE 形式保持暗号化 | FF1/FF3-1 アルゴリズム、NIST SP 800-38G | /fpe-encryption |
🔑 鍵管理ツール(8)
| ツール | 説明 | ルート |
|---|---|---|
| 鍵ジェネレーター | AES/DES/3DES のセキュアな乱数鍵、鍵の結合、パリティ | /keys-dea |
| Keyshare ジェネレーター | 安全な保管のための鍵分割、KCV 計算 | /keyshare-generator |
| Futurex 鍵 | Futurex HSM 鍵の暗号化/復号/検索 | /futurex-keys |
| Atalla 鍵(AKB) | Atalla AKB 形式の鍵の暗号化/復号 | /atalla-keys |
| SafeNet 鍵 | SafeNet HSM 鍵の暗号化/復号/検索 | /safenet-keys |
| Thales 鍵 | Thales HSM LMK 鍵の暗号化/復号/検索 | /thales-keys |
| Thales Key Block | Thales 独自の鍵ブロックのエンコード/デコード | /thales-key-block |
| TR-31 Key Block | ANSI X9.143 鍵ブロックのエンコード/デコード | /tr31-key-block |
🔐 PKI ツール(2)
| ツール | 説明 | ルート |
|---|---|---|
| ASN.1 デコーダー | DER/BER 構造のデコード、X.509 証明書の解析 | /asn1-parser |
| SSL 証明書(X509) | SSL/TLS 証明書の解析と検証 | /ssl-certificates |
💳 決済セキュリティツール(21)
| カテゴリー | ツール | ルート |
|---|---|---|
| AS2805 | AS2805 メッセージツール | /payments-as2805 |
| Bitmap | ISO 8583 ビットマップ | /payments-bitmap |
| カード検証 | CVV/CVC | /payments-card-validation-cvvs |
| カード検証 | AMEX CSC | /payments-card-validation-amex-cscs |
| カード検証 | MasterCard CVC3 | /payments-card-validation-mastercard-cvc3 |
| DUKPT | DUKPT TDES(ISO 9797) | /payments-dukpt-iso9797 |
| DUKPT | DUKPT AES | /payments-dukpt-aes |
| MAC | ISO 9797-1 MAC | /payments-mac-iso9797-1 |
| MAC | ANSI X9.9/X9.19 | /payments-mac-ansix9 |
| MAC | AS2805 MAC | /payments-mac-as2805 |
| MAC | TDES CBC-MAC | /payments-mac-tdes-cbc-mac |
| MAC | HMAC | /payments-mac-hmac |
| MAC | CMAC | /payments-mac-cmac |
| MAC | Retail MAC | /payments-mac-retail |
| PIN | 汎用 PIN ブロック | /payments-pin-blocks-general |
| PIN | AES PIN ブロック | /payments-pin-blocks-aes |
| PIN | PIN オフセット | /payments-pin-offset |
| PIN | PIN PVV | /payments-pin-pvv |
| その他 | VISA 証明書 | /payments-visa-certificates |
| その他 | ZKA(ドイツの銀行業務) | /payments-zka |
🧰 汎用ツール(9)
| ツール | 説明 | ルート |
|---|---|---|
| ハッシュ計算ツール | MD5/SHA/SHA-3/BLAKE2/SM3 など20種類以上のアルゴリズム | /hashes |
| 文字エンコーディング | ASCII/Hex/Binary/EBCDIC/ATM 変換 | /character-encoding |
| BCD エンコーディング | 10進数から BCD へのエンコード変換 | /bcd |
| チェックディジット | Luhn(MOD 10)/Amex SE(MOD 9) | /check-digits |
| Base64 エンコード/デコード | 標準 Base64 のエンコード/デコード | /base64 |
| Base94 エンコード/デコード | Base94 のエンコード/デコード | /base94 |
| メッセージパーサー | ISO 8583、ATM NDC/Wincor の解析 | /message-parser |
| RSA DER 公開鍵 | RSA 公開鍵の DER/PEM エンコード/デコード | /rsa-der-public-key |
| UUID ジェネレーター | UUID v1/v3/v4/v5 の生成 | /uuid |
📚 ナレッジベース
HSM Kit には、暗号化アルゴリズム、決済セキュリティ、HSM 鍵管理などを扱う、英語と中国語それぞれ42本の詳細な技術記事を収録した組み込みナレッジベース(/guides/)があります。記事同士が相互リンクされ、対応するツールに直接つながっています。
ナレッジベースの機能
- 📝 Markdown レンダリング - コードブロック、テーブル、内部リンク
- 🔗 ツール連携 - 関連するツールや記事への直接リンク
- 🌍 バイリンガル - 英語と中国語に対応し、各言語43記事をすべて翻訳済み
- 📖 目次 - 右側に目次を表示し、スクロールに合わせて項目をハイライト
- 🔍 検索 - 記事全体を対象とした全文検索
📁 プロジェクト構成
hsmkit/
├── public/ # Static assets
│ ├── favicon.svg # Website logo
│ ├── favicon-*.png # PWA icons (48/192/512)
│ ├── apple-touch-icon.png # iOS icon
│ ├── sitemap.xml # Sitemap (144 URLs with hreflang)
│ ├── robots.txt # Crawler instructions
│ ├── _headers # HTTP headers (Cloudflare)
│ └── _redirects # SPA route redirects
│
├── scripts/ # Build scripts
│ ├── generate-favicon-png.js # Favicon generation
│ ├── generate-guide-og.js # Per-guide social image generation
│ ├── prerender-guides.js # Static guide-page generation
│ ├── check-tool-pages.js # Production page smoke checks
│ └── update-sitemap-lastmod.js # Guide/tool sitemap maintenance
│
├── src/
│ ├── components/ # Reusable components
│ │ ├── cipher/ # Encryption tool components
│ │ ├── common/ # Common components
│ │ │ ├── PageLayout.tsx # Page layout + Schema.org
│ │ │ ├── ToolPage.tsx # Tool page factory
│ │ │ ├── SEO.tsx # SEO meta tags + prerender
│ │ │ ├── ResultCard.tsx # Result display (aria-live)
│ │ │ ├── ErrorCard.tsx # Error display (role="alert")
│ │ │ ├── LengthIndicator.tsx # Shared input length/format states
│ │ │ ├── ExampleButton.tsx # Context-preserving example loading
│ │ │ ├── ErrorBoundary.tsx # Error boundary
│ │ │ ├── ReloadPrompt.tsx # PWA update prompt (dark mode)
│ │ │ └── ...
│ │ ├── generic/ # General tool components
│ │ ├── keys/ # Key management components
│ │ ├── payment/ # Payment tool components
│ │ └── pki/ # PKI tool components
│ │
│ ├── hooks/ # Custom hooks
│ │ ├── useLanguage.tsx # Multi-language switching
│ │ ├── useTheme.tsx # Theme switching
│ │ ├── useToolForm.ts # Tool form hook
│ │ ├── useRecentTools.ts # Recent tools and local favorites
│ │ └── ...
│ │
│ ├── data/ # Tool metadata and examples
│ │ ├── examples.ts # Non-production example values
│ │ ├── toolRelations.ts # Related-tool workflow graph
│ │ └── toolGuidesMap.ts # Tool-to-guide links
│ │
│ ├── locales/ # Translations (6 languages)
│ │ ├── en/ # English
│ │ ├── zh/ # Chinese
│ │ ├── ja/ # Japanese
│ │ ├── ko/ # Korean
│ │ ├── de/ # German
│ │ └── fr/ # French
│ │
│ ├── utils/ # Utility functions
│ │ ├── analytics.ts # Privacy-safe tool action events
│ │ ├── crypto.ts # Core crypto utilities
│ │ ├── crypto.test.ts # Crypto unit tests
│ │ ├── hex.ts # Hex utilities
│ │ ├── hex.test.ts # Hex unit tests
│ │ ├── logger.ts # Production-safe logger
│ │ └── ...
│ │
│ ├── App.tsx # Root component + routes
│ ├── routeConfig.ts # Route configuration
│ ├── routes.tsx # Lazy-loaded page components
│ └── main.tsx # Entry point
│
├── vitest.config.ts # Test configuration
├── vite.config.ts # Build configuration
├── tsconfig.json # TypeScript config (strict mode)
└── package.json # Dependencies
🚀 クイックスタート
オンライン
https://hsmkit.com にアクセスすると、すべてのツールをそのまま利用できます。
PWA のインストール
ウェブサイトにアクセスすると、ブラウザーに「Install HSM Kit」と表示されます。クリックすると、デスクトップにインストールできます。
ローカル開発
# Clone repository
git clone https://github.com/hsm-kit/hsmkit.git
cd hsmkit
# Install dependencies
npm install
# Start development server
npm run dev
# Visit http://localhost:5173
本番環境向けビルド
# Build (includes sitemap update + Puppeteer prerender + PWA Service Worker)
npm run build
# Preview production build
npm run preview
リリースによってツールページの機能が変更された場合は、ホームページ、法的情報、ガイドの日付を書き換えずに、44個のツールページの日付のみを更新します。
node scripts/update-sitemap-lastmod.js --tools-date YYYY-MM-DD
注記:ビルドには Chrome が必要です。
prebuildスクリプトがnpx puppeteer browsers install chromeを使用して自動的にインストールします。
型チェック
# TypeScript type checking (strict mode)
npm run typecheck
# ESLint code checking
npm run lint
# ESLint auto-fix
npm run lint:fix
テスト
# Run all tests
npm test
# Smoke-test every generated tool and guide page
npm run test:pages
# Watch mode
npm run test:watch
# Test coverage
npm run test:coverage
🏗️ 技術スタック
| 技術 | バージョン | 用途 |
|---|---|---|
| React | 19 | フロントエンドフレームワーク |
| TypeScript | 5.9 | 型安全性(厳格モード) |
| Vite (Rolldown) | 7.2 | ビルドツール |
| Ant Design | 6 | UI コンポーネントライブラリ |
| React Router | 7 | ルーティング |
| CryptoJS | 4.2 | 共通鍵暗号(AES/DES/3DES) |
| node-forge | 1.3 | RSA/ASN.1/X.509 |
| elliptic | 6.6 | ECC/ECDSA |
| hash-wasm | 4.12 | 高性能ハッシュ処理(WASM) |
| react-markdown | 10.x | Markdown レンダリング |
| vite-plugin-pwa | 1.3 | PWA 対応(Service Worker) |
| Vitest | 4.x | 単体テストフレームワーク |
| @testing-library/react | 16.x | React コンポーネントのテスト |
⚡ パフォーマンス
| 最適化 | 説明 |
|---|---|
| ルートの遅延読み込み | すべてのページで React.lazy() を使用し、必要に応じて読み込みます |
| ベンダーの分割 | キャッシュのため、React/Ant Design/Crypto を個別にパッケージ化します |
| プリレンダリング SSG | Puppeteer がビルド時に静的 HTML を生成します |
| ハイドレーションの再利用 | プリレンダリング済み HTML がある場合は hydrateRoot を使用します |
| PWA キャッシュ | Service Worker が210件以上のリソースを事前にキャッシュし、オフラインで利用できるようにします |
| 長期キャッシュ | 静的アセットに max-age=31536000, immutable を設定します |
🔐 セキュリティ
- クライアント側の暗号化 - すべての暗号処理は、Web Crypto API と crypto-js を使用してブラウザー内で実行されます
- データ転送なし - 鍵や機密データがデバイスの外部に送信されることはありません
- オープンソース - すべてのコードを公開しており、監査できます
- コンプライアンス対応 - 金融業界のセキュリティ要件を満たしています
- CSP による保護 - Content-Security-Policy が XSS 攻撃を防ぎます
- 本番環境でのログ出力 - 本番環境ではデバッグログを無効にし、エラーのみを記録します
♿ アクセシビリティ
HSM Kit は WCAG 2.1 AA 規格に準拠し、包括的なアクセシビリティ機能を備えています。
- コンテンツへのスキップリンク - キーボードユーザーはメインコンテンツにすばやく移動できます
- ARIA ラベル - ナビゲーション、ボタン、フォーム要素に適切な aria-label を設定しています
- aria-live 領域 - 動的な結果やエラーをスクリーンリーダーが読み上げます
- キーボード操作 - すべてのインタラクティブ要素を Tab/Enter/Space キーで操作できます
- フォーカス管理 - 明確なフォーカスインジケーターと論理的なフォーカス順序を備えています
- セマンティック HTML - role="banner"、role="main"、role="alert" などを使用しています
🌍 国際化
HSM Kit は6言語に対応し、翻訳率は100%です。
| 言語 | コード | 状態 |
|---|---|---|
| 英語 | en | ✅ 100% |
| 簡体字中国語 | zh | ✅ 100% |
| 日本語 | ja | ✅ 100% |
| 韓国語 | ko | ✅ 100% |
| ドイツ語 | de | ✅ 100% |
| フランス語 | fr | ✅ 100% |
翻訳ファイルは src/locales/ に配置されています。パフォーマンスを最適化するため、遅延読み込みを使用します。
🌍 デプロイ
HSM Kit は、任意の静的ホスティングサービスにデプロイできます。
| プラットフォーム | 設定ファイル |
|---|---|
| Cloudflare Pages | wrangler.json、public/_headers、public/_redirects |
| Vercel | vercel.json |
| Netlify | public/_redirects |
# The dist/ directory can be deployed directly after build
npm run build
検索エンジンへの登録
- Bing Webmaster Tools から提供された確認用の値を、ビルド環境で
BING_SITE_AUTHに設定してください。 - Cloudflare Pages のデプロイ完了後、GitHub の Actions → Submit URLs to IndexNow → Run workflow を開いてください。サイトマップを送信する場合は URL を空欄にし、変更した URL を 1 つ送信する場合は入力してください。ローカルからの送信には引き続き
npm run submit:indexnowを使用できます。 - AI が読み取れるリソースは、
/llms.txt、/ai/tools.json、および各ガイドのindex.mdURL で公開されています。
🤝 コントリビューション
Issue や Pull Request を歓迎します。
- このリポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/AmazingFeature) - 変更をコミットします(
git commit -m 'Add some AmazingFeature') - ブランチにプッシュします(
git push origin feature/AmazingFeature) - Pull Request を送信します
新しいナレッジベース記事の追加
src/content/guides/en/に{slug}.mdを作成します(中国語の場合はzh/に作成します)src/data/guides/en.jsonとzh.jsonにメタデータを追加しますprerender.config.tsにルートを追加しますpublic/sitemap.xmlに URL を追加しますnpm run buildを実行して確認します
📄 ライセンス
MIT License — LICENSE ファイルを参照してください
🔗 リンク
- 🌐 ウェブサイト
- 📚 ナレッジベース
- 📦 GitHub リポジトリ
- 🐛 Issue トラッカー
⚠️ 注意:このツールは、テストおよび開発環境での使用を目的としています。本番環境で使用する前に、関連するセキュリティ基準に準拠していることを確認してください。
HSM Kit Team が ❤️ を込めて作成
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。