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

HSM Kit Logo

๐Ÿ” Professional encryption & key management tools, 100% client-side, secure & reliable

Website License React TypeScript Tests

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

FeatureDescription
๐Ÿ”’ Local ComputationAll crypto operations run in browser, data never uploaded
๐Ÿ“ฑ PWA SupportInstallable to desktop, works like native app, offline available
๐ŸŒ Cross PlatformMac/Windows/Linux/iOS/Android supported
๐ŸŒ Multi-languageEnglish, Chinese, Japanese, Korean, German, French - 100% coverage
๐ŸŒ™ Dark ModeDay/night theme switching to protect your eyes
โ™ฟ AccessibleARIA labels, keyboard navigation, skip-to-content, aria-live regions, WCAG 2.1 AA compliant
โšก Lazy LoadingRoute-level code splitting, only loads current page
๐Ÿ” SEO OptimizedPre-rendered static HTML, Schema markup, multi-language hreflang
๐Ÿ“š Knowledge Base43 English + 43 Chinese technical articles with static, indexable delivery
๐Ÿ‡จ๐Ÿ‡ณ Localized Tool URLs8 high-demand tools have canonical Chinese URLs with reciprocal hreflang
๐Ÿงช Published Test VectorsDownloadable AES JSON vectors verified by CryptoJS and Web Crypto regression tests
๐Ÿ“ Context-safe ExamplesOne-click examples preserve the selected mode, format, tab, and enabling toggles
โœ… Consistent Input ValidationShared gray/green/red length and format states across all tool inputs
โญ Favorites & Recent ToolsLocal favorites plus 90-day recent-tool history, with no account required
๐Ÿ”— Workflow DiscoveryEach tool links to the next relevant tools and its supporting guides
๐Ÿ“Š Privacy-safe EventsOptional GA/Zaraz events contain action/tool IDs only, never form values or results
๐Ÿงช Test Coverage100+ Vitest tests plus production page smoke checks for all 44 tools

๐Ÿ› ๏ธ Tool Modules

๐Ÿ” Encryption/Decryption Tools (5)

ToolDescriptionRoute
AES EncryptionAES-128/192/256, ECB/CBC/CFB/OFB/CTR modes/aes-encryption
DES/3DES EncryptionDES/Triple DES, multiple padding options/des-encryption
RSA EncryptionRSA encrypt/decrypt/sign/verify, PKCS#1/OAEP/rsa-encryption
ECC/ECDSAElliptic curve, secp256k1/P-256/P-384/ecc-encryption
FPE Format-PreservingFF1/FF3-1 algorithms, NIST SP 800-38G/fpe-encryption

๐Ÿ”‘ Key Management Tools (8)

ToolDescriptionRoute
Key GeneratorAES/DES/3DES secure random keys, key combining, parity/keys-dea
Keyshare GeneratorKey splitting for secure custody, KCV calculation/keyshare-generator
Futurex KeysFuturex HSM key encrypt/decrypt/lookup/futurex-keys
Atalla Keys (AKB)Atalla AKB format key encrypt/decrypt/atalla-keys
SafeNet KeysSafeNet HSM key encrypt/decrypt/lookup/safenet-keys
Thales KeysThales HSM LMK key encrypt/decrypt/lookup/thales-keys
Thales Key BlockThales proprietary key block encode/decode/thales-key-block
TR-31 Key BlockANSI X9.143 key block encode/decode/tr31-key-block

๐Ÿ” PKI Tools (2)

ToolDescriptionRoute
ASN.1 DecoderDER/BER structure decoding, X.509 certificate parsing/asn1-parser
SSL Certificates (X509)SSL/TLS certificate parsing & validation/ssl-certificates

๐Ÿ’ณ Payment Security Tools (21)

CategoryToolRoute
AS2805AS2805 Message Tool/payments-as2805
BitmapISO 8583 Bitmap/payments-bitmap
Card ValidationCVV/CVC/payments-card-validation-cvvs
Card ValidationAMEX CSC/payments-card-validation-amex-cscs
Card ValidationMasterCard CVC3/payments-card-validation-mastercard-cvc3
DUKPTDUKPT TDES (ISO 9797)/payments-dukpt-iso9797
DUKPTDUKPT AES/payments-dukpt-aes
MACISO 9797-1 MAC/payments-mac-iso9797-1
MACANSI X9.9/X9.19/payments-mac-ansix9
MACAS2805 MAC/payments-mac-as2805
MACTDES CBC-MAC/payments-mac-tdes-cbc-mac
MACHMAC/payments-mac-hmac
MACCMAC/payments-mac-cmac
MACRetail MAC/payments-mac-retail
PINPIN Block General/payments-pin-blocks-general
PINPIN Block AES/payments-pin-blocks-aes
PINPIN Offset/payments-pin-offset
PINPIN PVV/payments-pin-pvv
OtherVISA Certificates/payments-visa-certificates
OtherZKA (German Banking)/payments-zka

๐Ÿงฐ General Tools (9)

ToolDescriptionRoute
Hash CalculatorMD5/SHA/SHA-3/BLAKE2/SM3 20+ algorithms/hashes
Character EncodingASCII/Hex/Binary/EBCDIC/ATM conversion/character-encoding
BCD EncodingDecimal to BCD encoding conversion/bcd
Check DigitsLuhn (MOD 10) / Amex SE (MOD 9)/check-digits
Base64 Encode/DecodeStandard Base64 encoding/decoding/base64
Base94 Encode/DecodeBase94 encoding/decoding/base94
Message ParserISO 8583, ATM NDC/Wincor parsing/message-parser
RSA DER Public KeyRSA public key DER/PEM encode/decode/rsa-der-public-key
UUID GeneratorUUID 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 prebuild script automatically installs it via npx 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

TechnologyVersionPurpose
React19Frontend framework
TypeScript5.9Type safety (strict mode)
Vite (Rolldown)7.2Build tool
Ant Design6UI component library
React Router7Routing
CryptoJS4.2Symmetric encryption (AES/DES/3DES)
node-forge1.3RSA/ASN.1/X.509
elliptic6.6ECC/ECDSA
hash-wasm4.12High-performance hashing (WASM)
react-markdown10.xMarkdown rendering
vite-plugin-pwa1.3PWA support (Service Worker)
Vitest4.xUnit testing framework
@testing-library/react16.xReact component testing

โšก Performance

OptimizationDescription
Route Lazy LoadingAll pages use React.lazy() for on-demand loading
Vendor SplittingReact / Ant Design / Crypto packaged separately for caching
Pre-rendering SSGPuppeteer generates static HTML at build time
Hydration ReuseUses hydrateRoot when pre-rendered HTML exists
PWA CachingService Worker pre-caches 210+ resources for offline use
Long-term CachingStatic 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:

LanguageCodeStatus
Englishenโœ… 100%
็ฎ€ไฝ“ไธญๆ–‡zhโœ… 100%
ๆ—ฅๆœฌ่ชžjaโœ… 100%
ํ•œ๊ตญ์–ดkoโœ… 100%
Deutschdeโœ… 100%
Franรงaisfrโœ… 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:

PlatformConfig File
Cloudflare Pageswrangler.json, public/_headers, public/_redirects
Vercelvercel.json
Netlifypublic/_redirects
# The dist/ directory can be deployed directly after build
npm run build

Search Discovery

  • Set BING_SITE_AUTH in 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's index.md URL.

๐Ÿค Contributing

Welcome to submit Issues and Pull Requests!

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Submit a Pull Request

Adding New Knowledge Base Articles

  1. Create {slug}.md in src/content/guides/en/ (and zh/ for Chinese)
  2. Update src/data/guides/en.json and zh.json with metadata
  3. Add routes in prerender.config.ts
  4. Add URL in public/sitemap.xml
  5. Run npm run build to verify

๐Ÿ“„ License

MIT License - See LICENSE file


๐Ÿ”— Links


โš ๏ธ 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