Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
ada:howto:sicoferp:factory:new-migracion-sicoferp:front:configuracion-libreria-encriptacion [2025/01/29 17:04] 192.168.175.192 |
ada:howto:sicoferp:factory:new-migracion-sicoferp:front:configuracion-libreria-encriptacion [2025/03/18 14:14] (actual) 192.168.175.219 |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== Configuración librería encriptación ====== | ====== Configuración librería encriptación ====== | ||
| - | Esta librería funciona como un repositorio centralizado de componentes, permitiendo compartir y reutilizar elementos visuales de manera consistente en todas las aplicaciones. Al mantener un sistema de diseño unificado, garantiza la coherencia visual y mejora la eficiencia del desarrollo, reduciendo la duplicación de código y simplificando el mantenimiento de la interfaz de usuario. | + | Librería para encriptar y desencriptar datos de forma segura, garantizando la protección de la información transmitida y recibida. |
| ===== Uso ===== | ===== Uso ===== | ||
| Línea 9: | Línea 9: | ||
| * Instale la librería de npm crypto-js [[https://www.npmjs.com/package/crypto-js|Enlace a la librería]] | * Instale la librería de npm crypto-js [[https://www.npmjs.com/package/crypto-js|Enlace a la librería]] | ||
| + | <code> | ||
| npm i crypto-js | npm i crypto-js | ||
| + | </code> | ||
| * Crea un archivo **.npmrc** en la raíz del proyecto, el cual va a contener la configuración para instalación de la librería alojada en Nexus Repository. | * Crea un archivo **.npmrc** en la raíz del proyecto, el cual va a contener la configuración para instalación de la librería alojada en Nexus Repository. | ||
| - | * Agregue la dependencia al archivo **package.json** **(Recuerde verificar la versión actual de la librería)** e instale las dependencias. | + | * Agregue la dependencia al archivo **package.json** en el bloque "dependencies" **(Recuerde verificar la versión actual de la librería)** e instale las dependencias. |
| + | <code> | ||
| "crypto-util-library": "http://10.1.40.130:8081/repository/npm-hosted/crypto-util-library/-/crypto-util-library-1.0.0.tgz" | "crypto-util-library": "http://10.1.40.130:8081/repository/npm-hosted/crypto-util-library/-/crypto-util-library-1.0.0.tgz" | ||
| + | </code> | ||
| * Crea un servicio para centralizar y gestionar la encriptación y desencriptación de datos, utilizando los métodos proporcionados por la librería **crypto-util-library**. Esto facilita la reutilización del código y garantiza un manejo seguro y consistente de la información en toda la aplicación. | * Crea un servicio para centralizar y gestionar la encriptación y desencriptación de datos, utilizando los métodos proporcionados por la librería **crypto-util-library**. Esto facilita la reutilización del código y garantiza un manejo seguro y consistente de la información en toda la aplicación. | ||
| + | <code> | ||
| import { CryptoUtil } from 'crypto-util-library'; | import { CryptoUtil } from 'crypto-util-library'; | ||
| Línea 27: | Línea 29: | ||
| return this.cryptoUtil.decryptObject(data); | return this.cryptoUtil.decryptObject(data); | ||
| } | } | ||
| + | | ||
| encryptData(data: any) { | encryptData(data: any) { | ||
| return this.cryptoUtil.encryptObject(data); | return this.cryptoUtil.encryptObject(data); | ||
| } | } | ||
| + | </code> | ||
| * Configura un **interceptor** encargado de la encriptación y desencriptación de los datos en las solicitudes HTTP. Este interceptor recibe como parámetro un **archivo de configuración** que permite definir una lista de URLs excluidas, en las cuales no es necesario aplicar estos procesos. De esta manera, se optimiza el rendimiento y se garantiza que solo las comunicaciones sensibles sean protegidas mediante encriptación. | * Configura un **interceptor** encargado de la encriptación y desencriptación de los datos en las solicitudes HTTP. Este interceptor recibe como parámetro un **archivo de configuración** que permite definir una lista de URLs excluidas, en las cuales no es necesario aplicar estos procesos. De esta manera, se optimiza el rendimiento y se garantiza que solo las comunicaciones sensibles sean protegidas mediante encriptación. | ||
| - | * * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:front:configuracion-libreria-encriptacion:interceptor-encriptacion|Interceptor ]] | + | * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:front:configuracion-libreria-encriptacion:interceptor-encriptacion|Interceptor ]] |
| - | * * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:front:configuracion-libreria-encriptacion:archivo-configuracion-interceptor-encriptacion|Archivo de configuración]] | + | * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:front:configuracion-libreria-encriptacion:archivo-configuracion-interceptor-encriptacion|Archivo de configuración]] |
| + | |||
| + | * Realice la configuración del interceptor en el archivo **app.confi.ts** en el array de providers y asegúrese de pasar el archivo de configuración como parámetro para definir las reglas de encriptación y exclusión de URLs. La implementación debe realizarse de la siguiente manera:: | ||
| + | |||
| + | <code> | ||
| + | import { cryptoInterceptorInterceptor } from './shared/interceptors/crypto-interceptor.interceptor'; | ||
| + | import { cryptoConfig } from './shared/interceptors/crypto.config'; | ||
| + | |||
| + | export const appConfig: ApplicationConfig = { | ||
| + | providers: [ | ||
| + | provideHttpClient( | ||
| + | withInterceptors([cryptoInterceptorInterceptor(cryptoConfig)]) | ||
| + | ) | ||
| + | ] | ||
| + | }; | ||
| + | </code> | ||
| [[ada:howto:sicoferp:factory:new-migracion-sicoferp:front|←Regresar]] | [[ada:howto:sicoferp:factory:new-migracion-sicoferp:front|←Regresar]] | ||
| + | |||
| + | ---- | ||
| + | |||
| + | //Documento actualizado: 03/03/2025//\\ | ||
| + | //Elaborado por: Luis Ardila - Desarrollador frontEnd// | ||