jueves, 2 de abril de 2020

Oracle: ¿Cómo encriptar paquete?

¿Tienes un paquete que tiene un lógica importante en tu sistema? En Oracle existe una forma de encriptar esa porción de código.

También conocido con la terminología "ofuscar" (encubrir), alguna veces es necesario ya que damos acceso a nuestras bases de datos a personal que tal vez solo están de paso por nuestra empresa, a continuación detallo los pasos.

Antes de iniciar: Guarda el código fuente original, al momento de encriptar ya no hay vuelta atrás considerar que Oracle utiliza el método hash (no reversible).

  1. Existe un ejecutable en $ORACLE_HOME/bin que se llama wrap. Llamándolo desde la consola.
  2. Teniendo el cuerpo del paquete preparado y con nombre:  ob_pack_body.sql
  3. Ejecutamos en la consola lo siguiente: 
  4. wrap edebug=wrap_new_sql iname=ob_pack_body.sql
  5. Finalmente compilen el paquete y voila



    1. Ojo: Sólo hemos creado el body del paquete, se entiende que la cabecera ha sido creada de forma normal.