HSM Kit
Local-first MCP server for Base64, Luhn, key-component XOR, and synthetic ISO-0 PIN block tools.
Documentation
HSM Kit - Professional Online Encryption Toolkit
๐ Professional encryption & key management tools, 100% client-side, secure & reliable
English | ็ฎไฝไธญๆ | ๆฅๆฌ่ช | ํ๊ตญ์ด | Deutsch | Franรงais
๐ Introduction
HSM Kit is a professional online encryption toolkit designed for developers, testers, and security engineers in finance, payment, and security domains. It provides 44+ tools covering HSM key management, payment security, PKI certificates, and cryptographic algorithms, all running entirely in the browser.
Core Values
- Security First - 100% client-side computation, keys and sensitive data never leave your device
- Professional & Complete - 44+ tools covering HSM key management, payment security, PKI certificates, and cryptographic algorithms
- Ready to Use - Open browser and start working, supports PWA installation, works on Mac/Windows/Linux/mobile
- Open Source - Code is publicly auditable, meets financial industry compliance requirements
โจ Features
| Feature | Description |
|---|---|
| ๐ Local Computation | All crypto operations run in browser, data never uploaded |
| ๐ฑ PWA Support | Installable to desktop, works like native app, offline available |
| ๐ Cross Platform | Mac/Windows/Linux/iOS/Android supported |
| ๐ Multi-language | English, Chinese, Japanese, Korean, German, French - 100% coverage |
| ๐ Dark Mode | Day/night theme switching to protect your eyes |
| โฟ Accessible | ARIA labels, keyboard navigation, skip-to-content, aria-live regions, WCAG 2.1 AA compliant |
| โก Lazy Loading | Route-level code splitting, only loads current page |
| ๐ SEO Optimized | Pre-rendered static HTML, Schema markup, multi-language hreflang |
| ๐ Knowledge Base | 43 English + 43 Chinese technical articles with static, indexable delivery |
| ๐จ๐ณ Localized Tool URLs | 8 high-demand tools have canonical Chinese URLs with reciprocal hreflang |
| ๐งช Published Test Vectors | Downloadable AES JSON vectors verified by CryptoJS and Web Crypto regression tests |
| ๐ Context-safe Examples | One-click examples preserve the selected mode, format, tab, and enabling toggles |
| โ Consistent Input Validation | Shared gray/green/red length and format states across all tool inputs |
| โญ Favorites & Recent Tools | Local favorites plus 90-day recent-tool history, with no account required |
| ๐ Workflow Discovery | Each tool links to the next relevant tools and its supporting guides |
| ๐ Privacy-safe Events | Optional GA/Zaraz events contain action/tool IDs only, never form values or results |
| ๐งช Test Coverage | 100+ Vitest tests plus production page smoke checks for all 44 tools |
๐ ๏ธ Tool Modules
๐ Encryption/Decryption Tools (5)
| Tool | Description | Route |
|---|---|---|
| AES Encryption | AES-128/192/256, ECB/CBC/CFB/OFB/CTR modes | /aes-encryption |
| DES/3DES Encryption | DES/Triple DES, multiple padding options | /des-encryption |
| RSA Encryption | RSA encrypt/decrypt/sign/verify, PKCS#1/OAEP | /rsa-encryption |
| ECC/ECDSA | Elliptic curve, secp256k1/P-256/P-384 | /ecc-encryption |
| FPE Format-Preserving | FF1/FF3-1 algorithms, NIST SP 800-38G | /fpe-encryption |
๐ Key Management Tools (8)
| Tool | Description | Route |
|---|---|---|
| Key Generator | AES/DES/3DES secure random keys, key combining, parity | /keys-dea |
| Keyshare Generator | Key splitting for secure custody, KCV calculation | /keyshare-generator |
| Futurex Keys | Futurex HSM key encrypt/decrypt/lookup | /futurex-keys |
| Atalla Keys (AKB) | Atalla AKB format key encrypt/decrypt | /atalla-keys |
| SafeNet Keys | SafeNet HSM key encrypt/decrypt/lookup | /safenet-keys |
| Thales Keys | Thales HSM LMK key encrypt/decrypt/lookup | /thales-keys |
| Thales Key Block | Thales proprietary key block encode/decode | /thales-key-block |
| TR-31 Key Block | ANSI X9.143 key block encode/decode | /tr31-key-block |
๐ PKI Tools (2)
| Tool | Description | Route |
|---|---|---|
| ASN.1 Decoder | DER/BER structure decoding, X.509 certificate parsing | /asn1-parser |
| SSL Certificates (X509) | SSL/TLS certificate parsing & validation | /ssl-certificates |
๐ณ Payment Security Tools (21)
| Category | Tool | Route |
|---|---|---|
| AS2805 | AS2805 Message Tool | /payments-as2805 |
| Bitmap | ISO 8583 Bitmap | /payments-bitmap |
| Card Validation | CVV/CVC | /payments-card-validation-cvvs |
| Card Validation | AMEX CSC | /payments-card-validation-amex-cscs |
| Card Validation | 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 Block General | /payments-pin-blocks-general |
| PIN | PIN Block AES | /payments-pin-blocks-aes |
| PIN | PIN Offset | /payments-pin-offset |
| PIN | PIN PVV | /payments-pin-pvv |
| Other | VISA Certificates | /payments-visa-certificates |
| Other | ZKA (German Banking) | /payments-zka |
๐งฐ General Tools (9)
| Tool | Description | Route |
|---|---|---|
| Hash Calculator | MD5/SHA/SHA-3/BLAKE2/SM3 20+ algorithms | /hashes |
| Character Encoding | ASCII/Hex/Binary/EBCDIC/ATM conversion | /character-encoding |
| BCD Encoding | Decimal to BCD encoding conversion | /bcd |
| Check Digits | Luhn (MOD 10) / Amex SE (MOD 9) | /check-digits |
| Base64 Encode/Decode | Standard Base64 encoding/decoding | /base64 |
| Base94 Encode/Decode | Base94 encoding/decoding | /base94 |
| Message Parser | ISO 8583, ATM NDC/Wincor parsing | /message-parser |
| RSA DER Public Key | RSA public key DER/PEM encode/decode | /rsa-der-public-key |
| UUID Generator | UUID v1/v3/v4/v5 generation | /uuid |
๐ Knowledge Base
HSM Kit includes a built-in knowledge base (/guides/) with 42 in-depth technical articles in each of English and Chinese, covering encryption algorithms, payment security, HSM key management, and more. Articles are cross-linked and directly connected to corresponding tools.
Knowledge Base Features
- ๐ Markdown Rendering - Code blocks, tables, internal links
- ๐ Tool Integration - Direct links to related tools and articles
- ๐ Bilingual - English and Chinese, 43 articles each, fully translated
- ๐ Table of Contents - Right-side TOC navigation with scroll highlighting
- ๐ Search - Full-text search across articles
๐ Project Structure
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
๐ Quick Start
Online
Visit https://hsmkit.com to use all tools directly.
PWA Install
After visiting the website, your browser will prompt "Install HSM Kit". Click to install to desktop.
Local Development
# 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 for Production
# Build (includes sitemap update + Puppeteer prerender + PWA Service Worker)
npm run build
# Preview production build
npm run preview
When a release changes tool-page functionality, refresh only the 44 tool-page dates without rewriting homepage, legal, or guide dates:
node scripts/update-sitemap-lastmod.js --tools-date YYYY-MM-DD
Note: Chrome is required for building. The
prebuildscript automatically installs it vianpx puppeteer browsers install chrome.
Type Checking
# TypeScript type checking (strict mode)
npm run typecheck
# ESLint code checking
npm run lint
# ESLint auto-fix
npm run lint:fix
Testing
# 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
๐๏ธ Tech Stack
| Technology | Version | Purpose |
|---|---|---|
| React | 19 | Frontend framework |
| TypeScript | 5.9 | Type safety (strict mode) |
| Vite (Rolldown) | 7.2 | Build tool |
| Ant Design | 6 | UI component library |
| React Router | 7 | Routing |
| CryptoJS | 4.2 | Symmetric encryption (AES/DES/3DES) |
| node-forge | 1.3 | RSA/ASN.1/X.509 |
| elliptic | 6.6 | ECC/ECDSA |
| hash-wasm | 4.12 | High-performance hashing (WASM) |
| react-markdown | 10.x | Markdown rendering |
| vite-plugin-pwa | 1.3 | PWA support (Service Worker) |
| Vitest | 4.x | Unit testing framework |
| @testing-library/react | 16.x | React component testing |
โก Performance
| Optimization | Description |
|---|---|
| Route Lazy Loading | All pages use React.lazy() for on-demand loading |
| Vendor Splitting | React / Ant Design / Crypto packaged separately for caching |
| Pre-rendering SSG | Puppeteer generates static HTML at build time |
| Hydration Reuse | Uses hydrateRoot when pre-rendered HTML exists |
| PWA Caching | Service Worker pre-caches 210+ resources for offline use |
| Long-term Caching | Static assets max-age=31536000, immutable |
๐ Security
- Client-side Encryption - All crypto operations run in browser using Web Crypto API and crypto-js
- Zero Data Transfer - Keys and sensitive data never leave your device
- Open Source - All code is publicly auditable
- Compliance Ready - Meets financial industry security requirements
- CSP Protection - Content-Security-Policy prevents XSS attacks
- Production Logging - Debug logs silenced in production, only errors recorded
โฟ Accessibility
HSM Kit follows WCAG 2.1 AA standards with comprehensive accessibility support:
- Skip-to-content Link - Keyboard users can quickly jump to main content
- ARIA Labels - Navigation, buttons, form elements have proper aria-labels
- aria-live Regions - Dynamic results and errors are announced by screen readers
- Keyboard Navigation - All interactive elements support Tab/Enter/Space
- Focus Management - Clear focus indicators and logical focus order
- Semantic HTML - Uses role="banner", role="main", role="alert" etc.
๐ Internationalization
HSM Kit supports 6 languages with 100% translation coverage:
| Language | Code | Status |
|---|---|---|
| English | en | โ 100% |
| ็ฎไฝไธญๆ | zh | โ 100% |
| ๆฅๆฌ่ช | ja | โ 100% |
| ํ๊ตญ์ด | ko | โ 100% |
| Deutsch | de | โ 100% |
| Franรงais | fr | โ 100% |
Translation files are located in src/locales/ with lazy loading for optimal performance.
๐ Deployment
HSM Kit can be deployed to any static hosting service:
| Platform | Config File |
|---|---|
| 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
Search Discovery
- Set
BING_SITE_AUTHin the build environment to the verification value supplied by Bing Webmaster Tools. - After Cloudflare Pages finishes deploying, open GitHub Actions โ Submit URLs to IndexNow โ Run workflow. Leave the URL empty to submit the sitemap, or enter one changed URL. Local submission remains available through
npm run submit:indexnow. - AI-readable resources are published at
/llms.txt,/ai/tools.json, and each guide'sindex.mdURL.
๐ค Contributing
Welcome to submit Issues and Pull Requests!
- Fork this repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Submit a Pull Request
Adding New Knowledge Base Articles
- Create
{slug}.mdinsrc/content/guides/en/(andzh/for Chinese) - Update
src/data/guides/en.jsonandzh.jsonwith metadata - Add routes in
prerender.config.ts - Add URL in
public/sitemap.xml - Run
npm run buildto verify
๐ License
MIT License - See LICENSE file
๐ Links
- ๐ Website
- ๐ Knowledge Base
- ๐ฆ GitHub Repository
- ๐ Issue Tracker
โ ๏ธ Note: This tool is intended for testing and development environments. Please ensure compliance with relevant security standards before using in production.
Made with โค๏ธ by HSM Kit Team