UNPKG

gx-twofish64

Version:

A library for encrypting and decrypting data using the Twofish algorithm and Base64 encoding. Based on the Genexus implementation (Encrypt64 and Decrypt64).

52 lines (33 loc) 1.51 kB
# gx-twofish64 Encriptación y desencriptación compatible con GeneXus usando el algoritmo **Twofish** y codificación **Base64**. Este paquete reproduce la lógica de `Encrypt64` y `Decrypt64` usada en GeneXus, permitiendo interoperabilidad con sistemas desarrollados en esa plataforma. ## Instalación ```bash npm install gx-twofish64 ``` # Uso ```ts import { encrypt64, decrypt64 } from 'gx-twofish64' const text = 'Hola mundo' const hexKey = '21972247ba570855360dbf70c8fa2e0e' // Clave hexadecimal válida (32 chars para 128 bits) const encrypted = encrypt64(text, hexKey) console.log('Encriptado:', encrypted) const decrypted = decrypt64(encrypted, hexKey) console.log('Desencriptado:', decrypted) ``` # API ### `encrypt64(text: string, hexKey: string): string` - `text`: Texto plano a encriptar. - `hexKey`: Clave en formato hexadecimal. Debe tener 16 bytes (32 caracteres hex). - Devuelve: Texto encriptado como Base64. ### `decrypt64(base64Text: string, hexKey: string): string` - `base64Text`: Texto encriptado en Base64. - `hexKey`: Clave en formato hexadecimal (misma que la usada para encriptar). - Devuelve: Texto desencriptado. # Detalles técnicos - Algoritmo: Twofish en modo ECB. - Tamaño de bloque: 16 bytes. - Padding: Se utiliza padding con espacio (0x20) como hace GeneXus. - Codificación: Base64. # Compatibilidad ✔ Compatible con valores generados por `Encrypt64()` y `Decrypt64()` de GeneXus.