New Omni documentation is now available — policy-driven document verification and API reference. Explore Omni → · Custom Theme for KYC liveform: Learn more →
New Omni documentation is now available — policy-driven document verification and API reference. Explore Omni → · Custom Theme for KYC liveform: Learn more →
Guía completa para proteger los datos del cliente mediante soluciones de cifrado robustas. Aprenda sobre métodos para minimizar los riesgos de acceso no autorizado y violaciones de datos mientras cumple con los últimos estándares de seguridad.
Para fines de desarrollo, proporcione la Herramienta de Cifrado y Descifrado.
Puede descargarla mediante este enlace y verifique que los resultados sean precisos.cf> En macOS, it requires allowing launching this app in the “Privacy & Security” settings menu.
Precaución: Los siguientes parámetros de consulta no están cifrados: pid, lang, sid, action.
Los parámetros de consulta pid, lang y los parámetros de consulta sid, action utilizados en la página de “Proceso Adicional (Inyección)” no admiten cifrado.
var crypto = require('crypto');var hashedKey = crypto.createHash('sha256').update(APIKEY).digest();
2
Ejemplo de Cifrado
A continuación se presentan ejemplos de cifrado de datos utilizando AES-256
var crypto = require('crypto'); /** * @param {string} data - Datos JSON convertidos a cadena * @param {string} apiKey - Clave de API del proyecto * @returns {string} Datos cifrados * * para cifrado exacto, use formatJSON. * ejemplo abajo, * const data = { userid: "10912301", email: "email@email.com" * }; * * no use la forma directa de cadena, como * `{"userid":"10912301","email":"email@email.com"}` * que no es lo mismo que el cifrado esperado. */ function encrypt(data, apiKey) { var hashedKey = crypto.createHash('sha256').update(apiKey).digest(); var cipher = crypto.createCipheriv('aes-256-ecb', hashedKey, null); return cipher.update(data, 'utf8', 'base64') + cipher.final('base64'); }
3
Ejemplo de Cifrado GCM
A continuación se presentan ejemplos de cifrado de datos utilizando AES-256-GCM
var crypto = require('crypto');/*** @param {string} data - Datos JSON convertidos a cadena* @param {string} apiKey - Clave de API del proyecto* @returns {string} Datos cifrados en formato hexadecimal (IV + cifrado + etiqueta)** El modo GCM proporciona cifrado autenticado e incluye IV y etiqueta de autenticación.* El valor de retorno es una cadena hexadecimal codificada del IV de 12 bytes + cifrado + etiqueta de autenticación de 16 bytes.*/function encryptGCM(data, apiKey) { var hashedKey = crypto.createHash('sha256').update(apiKey).digest(); var iv = crypto.randomBytes(12); var cipher = crypto.createCipheriv('aes-256-gcm', hashedKey, iv); var encrypted = cipher.update(data, 'utf8'); encrypted = Buffer.concat([encrypted, cipher.final()]); var tag = cipher.getAuthTag(); var result = Buffer.concat([iv, encrypted, tag]); return result.toString('hex');}/*** @param {string} encryptedHex - Hexadecimal de datos cifrados* @param {string} apiKey - Clave de API del proyecto* @returns {string} Datos descifrados*/function decryptGCM(encryptedHex, apiKey) { var hashedKey = crypto.createHash('sha256').update(apiKey).digest(); var encryptedBuffer = Buffer.from(encryptedHex, 'hex'); var iv = encryptedBuffer.slice(0, 12); var tag = encryptedBuffer.slice(-16); var encrypted = encryptedBuffer.slice(12, -16); var decipher = crypto.createDecipheriv('aes-256-gcm', hashedKey, iv); decipher.setAuthTag(tag); var decrypted = decipher.update(encrypted); decrypted = Buffer.concat([decrypted, decipher.final()]); return decrypted.toString('utf8');}
4
Ejemplo de Descifrado
A continuación se presentan ejemplos de descifrado de datos cifrados con AES-256
var crypto = require('crypto'); /** * @param {string} encryptedData * @param {string} apiKey * @returns {string} Datos descifrados */ function decrypt(encryptedData, apiKey) { var hashedKey = crypto.createHash('sha256').update(apiKey).digest(); var decipher = crypto.createDecipheriv('aes-256-ecb', hashedKey, null); return decipher.update(encryptedData, 'base64', 'utf8') + decipher.final('utf8'); }
5
Ejemplo de Descifrado GCM
A continuación se presentan ejemplos de descifrado de datos cifrados con AES-256-GCM
var crypto = require('crypto');/*** @param {string} encryptedHex - Hexadecimal de datos cifrados (IV + cifrado + etiqueta)* @param {string} apiKey - Clave de API del proyecto* @returns {string} Datos descifrados*/function decryptGCM(encryptedHex, apiKey) { var hashedKey = crypto.createHash('sha256').update(apiKey).digest(); var encryptedBuffer = Buffer.from(encryptedHex, 'hex'); // Separar IV, cifrado y etiqueta var iv = encryptedBuffer.slice(0, 12); var tag = encryptedBuffer.slice(-16); var encrypted = encryptedBuffer.slice(12, -16); var decipher = crypto.createDecipheriv('aes-256-gcm', hashedKey, iv); decipher.setAuthTag(tag); var decrypted = decipher.update(encrypted); decrypted = Buffer.concat([decrypted, decipher.final()]); return decrypted.toString('utf8');}
Cifre los datos para una transmisión segura en métodos de API (GET, POST, PATCH) y WEBHOOKs. Los métodos de API utilizan el método de cifrado AES-256-ECB, mientras que los WEBHOOKs utilizan AES-256-CBC. Asegúrese de que la transferencia segura de datos esté habilitada antes de usarla para proteger información sensible.Si esta opción está habilitada, el cuerpo de la solicitud debe estar cifrado. Consulte sobre un parámetro del cuerpo que sean datos cifrados. Es necesario cifrar AES-256-ECB y refiérase a las Características Principales y las instrucciones sobre cómo cifrar.