Este modulo integra una clase CEncryptor, clase warppers con funciones utiles para encryptar y desencriptar archivos y texto se basa en las funciones nativas que proporciona MQL5 (`CryptEncode` / `CryptDecode`).
## Métodos soportados
| Método | Key requerida |
|---|---|
| `CRYPT_AES128` | 16 chars |
| `CRYPT_AES256` | 32 chars |
| `CRYPT_DES` | 7 chars |
> Los métodos de hash (`CRYPT_HASH_SHA1`, `CRYPT_HASH_SHA256`, `CRYPT_HASH_MD5`) y `CRYPT_BASE64` no son métodos de encriptación y no están soportados por esta clase.
> **Nota:** Si `delete_prev_file = false` y `ext_decrypt = ""`, el archivo encriptado (solo si este no tiene extension, si tiene eg .enc el archivo original no sera sobreescrito solo el encriptado) es sobreescrito con el contenido desencriptado.
| `method` | Método de encriptación (determina el largo de la key) |
| `f_generate_char` | Función que genera un `uchar` aleatorio |
| `ptr` | Puntero al generador (se pasa a `f_generate_char`, esto es opcional solo si la funcion trabaja con clases) |
| `chart_start` | Valor mínimo del carácter generado (default: 32) |
| `chart_stop` | Valor máximo del carácter generado (default: 255) |
> **Nota:** El largo de la key se determina automáticamente según el método: AES128 = 16, AES256 = 32, DES = 7. La key generada queda almacenada internamente y puede recuperarse con `Key()`.
| `encrypted_text` | String encriptado en BASE64 (entrada en Decrypt, salida en Encrypt) |
| `decrypted_text` | Texto plano recuperado (salida en Decrypt) |
| `method` | Método de encriptación (ver tabla de métodos) |
> **Nota:** El texto encriptado se convierte automáticamente a BASE64 para poder almacenarse como `string`. Al desencriptar se revierte el proceso: BASE64 → bytes → texto original.