HSM Kit
Servidor MCP local-first para herramientas de Base64, Luhn, XOR de componentes de clave y bloques PIN sintéticos ISO-0.
Documentación
HSM Kit - Kit de herramientas profesionales de cifrado en línea
🔐 Herramientas profesionales de cifrado y gestión de claves, 100% en el lado del cliente, seguras y fiables
📖 Introducción
HSM Kit es un kit de herramientas de cifrado en línea profesional diseñado para desarrolladores, evaluadores e ingenieros de seguridad en los ámbitos financiero, de pagos y de seguridad. Proporciona más de 44 herramientas que cubren la gestión de claves HSM, la seguridad de pagos, los certificados PKI y los algoritmos criptográficos, todo ello ejecutándose íntegramente en el navegador.
Valores fundamentales
- Seguridad ante todo - Cálculo 100% en el lado del cliente, las claves y los datos sensibles nunca salen de su dispositivo
- Profesional y completo - Más de 44 herramientas que cubren la gestión de claves HSM, la seguridad de pagos, los certificados PKI y los algoritmos criptográficos
- Listo para usar - Abra el navegador y empiece a trabajar, compatible con la instalación PWA, funciona en Mac/Windows/Linux/móvil
- Código abierto - El código es auditable públicamente, cumple los requisitos de cumplimiento del sector financiero
✨ Características
| Característica | Descripción |
|---|---|
| 🔒 Cálculo local | Todas las operaciones criptográficas se ejecutan en el navegador, los datos nunca se cargan |
| 📱 Compatibilidad con PWA | Instalable en el escritorio, funciona como una aplicación nativa, disponible sin conexión |
| 🌐 Multiplataforma | Compatible con Mac/Windows/Linux/iOS/Android |
| 🌍 Multilingüe | Inglés, chino, japonés, coreano, alemán, francés - cobertura del 100% |
| 🌙 Modo oscuro | Cambio de tema día/noche para proteger sus ojos |
| ♿ Accesible | Etiquetas ARIA, navegación con teclado, saltar al contenido, regiones aria-live, conforme a WCAG 2.1 AA |
| ⚡ Carga diferida | División de código a nivel de ruta, solo carga la página actual |
| 🔍 Optimizado para SEO | HTML estático pre-renderizado, marcado Schema, hreflang multilingüe |
| 📚 Base de conocimientos | 43 artículos técnicos en inglés + 43 en chino con entrega estática e indexable |
| 🇨🇳 URLs de herramientas localizadas | 8 herramientas de alta demanda tienen URLs canónicas en chino con hreflang recíproco |
| 🧪 Vectores de prueba publicados | Vectores JSON AES descargables verificados por pruebas de regresión CryptoJS y Web Crypto |
| 📝 Ejemplos seguros para el contexto | Ejemplos con un clic que conservan el modo, formato, pestaña y conmutadores habilitados seleccionados |
| ✅ Validación de entrada coherente | Estados compartidos de longitud y formato gris/verde/rojo en todas las entradas de las herramientas |
| ⭐ Favoritos y herramientas recientes | Favoritos locales más historial de herramientas recientes de 90 días, sin necesidad de cuenta |
| 🔗 Descubrimiento de flujos de trabajo | Cada herramienta enlaza con las siguientes herramientas relevantes y sus guías de apoyo |
| 📊 Eventos seguros para la privacidad | Los eventos opcionales de GA/Zaraz contienen solo IDs de acción/herramienta, nunca valores de formularios ni resultados |
| 🧪 Cobertura de pruebas | Más de 100 pruebas Vitest más comprobaciones rápidas de páginas de producción para las 44 herramientas |
🛠️ Módulos de herramientas
🔐 Herramientas de cifrado/descifrado (5)
| Herramienta | Descripción | Ruta |
|---|---|---|
| Cifrado AES | AES-128/192/256, modos ECB/CBC/CFB/OFB/CTR | /aes-encryption |
| Cifrado DES/3DES | DES/Triple DES, múltiples opciones de relleno | /des-encryption |
| Cifrado RSA | Cifrado/descifrado/firma/verificación RSA, PKCS#1/OAEP | /rsa-encryption |
| ECC/ECDSA | Curva elíptica, secp256k1/P-256/P-384 | /ecc-encryption |
| FPE de preservación de formato | Algoritmos FF1/FF3-1, NIST SP 800-38G | /fpe-encryption |
🔑 Herramientas de gestión de claves (8)
| Herramienta | Descripción | Ruta |
|---|---|---|
| Generador de claves | Claves aleatorias seguras AES/DES/3DES, combinación de claves, paridad | /keys-dea |
| Generador de participaciones de clave | División de claves para custodia segura, cálculo de KCV | /keyshare-generator |
| Claves Futurex | Cifrado/descifrado/búsqueda de claves HSM Futurex | /futurex-keys |
| Claves Atalla (AKB) | Cifrado/descifrado de claves en formato AKB Atalla | /atalla-keys |
| Claves SafeNet | Cifrado/descifrado/búsqueda de claves HSM SafeNet | /safenet-keys |
| Claves Thales | Cifrado/descifrado/búsqueda de claves LMK HSM Thales | /thales-keys |
| Bloque de claves Thales | Codificación/decodificación de bloques de claves propietarios de Thales | /thales-key-block |
| Bloque de claves TR-31 | Codificación/decodificación de bloques de claves ANSI X9.143 | /tr31-key-block |
🔐 Herramientas PKI (2)
| Herramienta | Descripción | Ruta |
|---|---|---|
| Decodificador ASN.1 | Decodificación de estructura DER/BER, análisis de certificados X.509 | /asn1-parser |
| Certificados SSL (X509) | Análisis y validación de certificados SSL/TLS | /ssl-certificates |
💳 Herramientas de seguridad de pagos (21)
| Categoría | Herramienta | Ruta |
|---|---|---|
| AS2805 | Herramienta de mensajes AS2805 | /payments-as2805 |
| Bitmap | ISO 8583 Bitmap | /payments-bitmap |
| Validación de tarjetas | CVV/CVC | /payments-card-validation-cvvs |
| Validación de tarjetas | AMEX CSC | /payments-card-validation-amex-cscs |
| Validación de tarjetas | 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 | MAC minorista | /payments-mac-retail |
| PIN | Bloque PIN general | /payments-pin-blocks-general |
| PIN | Bloque PIN AES | /payments-pin-blocks-aes |
| PIN | Desplazamiento PIN | /payments-pin-offset |
| PIN | PIN PVV | /payments-pin-pvv |
| Otros | Certificados VISA | /payments-visa-certificates |
| Otros | ZKA (Banca alemana) | /payments-zka |
🧰 Herramientas generales (9)
| Herramienta | Descripción | Ruta |
|---|---|---|
| Calculadora de hash | MD5/SHA/SHA-3/BLAKE2/SM3, más de 20 algoritmos | /hashes |
| Codificación de caracteres | Conversión ASCII/Hex/Binario/EBCDIC/ATM | /character-encoding |
| Codificación BCD | Conversión de decimal a codificación BCD | /bcd |
| Dígitos de verificación | Luhn (MOD 10) / Amex SE (MOD 9) | /check-digits |
| Codificación/decodificación Base64 | Codificación/decodificación Base64 estándar | /base64 |
| Codificación/decodificación Base94 | Codificación/decodificación Base94 | /base94 |
| Analizador de mensajes | Análisis ISO 8583, ATM NDC/Wincor | /message-parser |
| Clave pública DER RSA | Codificación/decodificación DER/PEM de clave pública RSA | /rsa-der-public-key |
| Generador UUID | Generación UUID v1/v3/v4/v5 | /uuid |
📚 Base de conocimientos
HSM Kit incluye una base de conocimientos integrada (/guides/) con 42 artículos técnicos detallados en inglés y chino, que cubren algoritmos de cifrado, seguridad de pagos, gestión de claves HSM y más. Los artículos están enlazados entre sí y conectados directamente con las herramientas correspondientes.
Características de la base de conocimientos
- 📝 Renderizado Markdown - Bloques de código, tablas, enlaces internos
- 🔗 Integración de herramientas - Enlaces directos a herramientas y artículos relacionados
- 🌍 Bilingüe - Inglés y chino, 43 artículos cada uno, totalmente traducidos
- 📖 Tabla de contenidos - Navegación TOC en el lado derecho con resaltado de desplazamiento
- 🔍 Búsqueda - Búsqueda de texto completo en todos los artículos
📁 Estructura del proyecto
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
🚀 Inicio rápido
En línea
Visite https://hsmkit.com para usar todas las herramientas directamente.
Instalación PWA
Después de visitar el sitio web, su navegador le pedirá "Instalar HSM Kit". Haga clic para instalarlo en el escritorio.
Desarrollo local
# 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
Compilación para producción
# Build (includes sitemap update + Puppeteer prerender + PWA Service Worker)
npm run build
# Preview production build
npm run preview
Cuando una versión cambie la funcionalidad de las páginas de herramientas, actualice solo las fechas de las 44 páginas de herramientas sin reescribir las fechas de la página de inicio, legales o de guías:
node scripts/update-sitemap-lastmod.js --tools-date YYYY-MM-DD
Nota: Se requiere Chrome para la compilación. El script
prebuildlo instala automáticamente mediantenpx puppeteer browsers install chrome.
Comprobación de tipos
# TypeScript type checking (strict mode)
npm run typecheck
# ESLint code checking
npm run lint
# ESLint auto-fix
npm run lint:fix
Pruebas
# 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
🏗️ Pila tecnológica
| Tecnología | Versión | Propósito |
|---|---|---|
| React | 19 | Marco de trabajo frontend |
| TypeScript | 5.9 | Seguridad de tipos (modo estricto) |
| Vite (Rolldown) | 7.2 | Herramienta de compilación |
| Ant Design | 6 | Biblioteca de componentes de interfaz de usuario |
| React Router | 7 | Enrutamiento |
| CryptoJS | 4.2 | Cifrado simétrico (AES/DES/3DES) |
| node-forge | 1.3 | RSA/ASN.1/X.509 |
| elliptic | 6.6 | ECC/ECDSA |
| hash-wasm | 4.12 | Hash de alto rendimiento (WASM) |
| react-markdown | 10.x | Renderizado Markdown |
| vite-plugin-pwa | 1.3 | Compatibilidad con PWA (Service Worker) |
| Vitest | 4.x | Marco de pruebas unitarias |
| @testing-library/react | 16.x | Pruebas de componentes React |
⚡ Rendimiento
| Optimización | Descripción |
|---|---|
| Carga diferida de rutas | Todas las páginas usan React.lazy() para la carga bajo demanda |
| División de proveedores | React / Ant Design / Crypto empaquetados por separado para el almacenamiento en caché |
| Pre-renderizado SSG | Puppeteer genera HTML estático en tiempo de compilación |
| Reutilización de hidratación | Usa hydrateRoot cuando existe HTML pre-renderizado |
| Almacenamiento en caché PWA | Service Worker pre-cachea más de 210 recursos para uso sin conexión |
| Almacenamiento en caché a largo plazo | Recursos estáticos max-age=31536000, immutable |
🔐 Seguridad
- Cifrado en el lado del cliente - Todas las operaciones criptográficas se ejecutan en el navegador usando Web Crypto API y crypto-js
- Cero transferencia de datos - Las claves y los datos sensibles nunca salen de su dispositivo
- Código abierto - Todo el código es auditable públicamente
- Listo para el cumplimiento - Cumple los requisitos de seguridad del sector financiero
- Protección CSP - Content-Security-Policy previene ataques XSS
- Registro de producción - Los registros de depuración se silencian en producción, solo se registran errores
♿ Accesibilidad
HSM Kit sigue los estándares WCAG 2.1 AA con soporte integral de accesibilidad:
- Enlace para saltar al contenido - Los usuarios de teclado pueden saltar rápidamente al contenido principal
- Etiquetas ARIA - La navegación, los botones y los elementos de formulario tienen etiquetas aria adecuadas
- Regiones aria-live - Los resultados dinámicos y los errores son anunciados por los lectores de pantalla
- Navegación con teclado - Todos los elementos interactivos admiten Tab/Enter/Espacio
- Gestión del enfoque - Indicadores de enfoque claros y orden de enfoque lógico
- HTML semántico - Usa role="banner", role="main", role="alert", etc.
🌍 Internacionalización
HSM Kit admite 6 idiomas con cobertura de traducción del 100%:
| Idioma | Código | Estado |
|---|---|---|
| English | en | ✅ 100% |
| 简体中文 | zh | ✅ 100% |
| 日本語 | ja | ✅ 100% |
| 한국어 | ko | ✅ 100% |
| Deutsch | de | ✅ 100% |
| Français | fr | ✅ 100% |
Los archivos de traducción se encuentran en src/locales/ con carga diferida para un rendimiento óptimo.
🌍 Despliegue
HSM Kit se puede desplegar en cualquier servicio de alojamiento estático:
| Plataforma | Archivo de configuración |
|---|---|
| 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
Descubrimiento de búsqueda
- Establezca
BING_SITE_AUTHen el entorno de compilación al valor de verificación proporcionado por Bing Webmaster Tools. - Después de que Cloudflare Pages termine de desplegarse, abra GitHub Actions → Submit URLs to IndexNow → Run workflow. Deje la URL vacía para enviar el sitemap, o introduzca una URL modificada. El envío local sigue disponible mediante
npm run submit:indexnow. - Los recursos legibles por IA se publican en
/llms.txt,/ai/tools.jsony la URLindex.mdde cada guía.
🤝 Contribuciones
¡Le invitamos a enviar Issues y Pull Requests!
- Haga un fork de este repositorio
- Cree una rama de características (
git checkout -b feature/AmazingFeature) - Confirme sus cambios (
git commit -m 'Add some AmazingFeature') - Envíe a la rama (
git push origin feature/AmazingFeature) - Envíe un Pull Request
Añadir nuevos artículos a la base de conocimientos
- Cree
{slug}.mdensrc/content/guides/en/(yzh/para chino) - Actualice
src/data/guides/en.jsonyzh.jsoncon metadatos - Añada rutas en
prerender.config.ts - Añada la URL en
public/sitemap.xml - Ejecute
npm run buildpara verificar
📄 Licencia
Licencia MIT - Consulte el archivo LICENSE
🔗 Enlaces
⚠️ Nota: Esta herramienta está destinada a entornos de prueba y desarrollo. Asegúrese de cumplir con los estándares de seguridad relevantes antes de usarla en producción.
Hecho con ❤️ por Equipo de HSM Kit