sql >> Base de Datos >  >> RDS >> Database

SDK de FieldShield

IRI proporciona un kit de desarrollo de software (SDK) para ayudar a los usuarios de FieldShield a aplicar algoritmos de cifrado, descifrado, hashing y redacción a nivel de columna en proyectos Java y .NET para requisitos de enmascaramiento de datos más dinámicos o in situ. Este artículo cubre la biblioteca y las funciones de protección de datos a nivel de campo/columna que admite.

El código de los ejemplos que se muestran está en C#, aunque las llamadas a funciones serán las mismas en todos los lenguajes .NET. Java usa los mismos métodos, pero algunos requieren que se use un parámetro adicional; esos casos se mencionan cuando es necesario.

Hay dos tipos de clases en el SDK:clases de cifrado y clases de conversión. Las clases de cifrado y descifrado son:

  • AES256
  • ASCII
  • Alfanumérico

Las clases de conversión son:

  • hexadecimal
  • Base64
  • Hash Sha256
  • Reemplazo de personajes.

Clases de cifrado y descifrado

obj=new ();
int iResult =obj.begin();
obj.setPass(“TEST”);
string output =obj.doTransform (“Cadena de prueba”);
obj.end();

  1. Para usar una clase de cifrado FieldShield, cree un objeto de clase de cifrado del tipo de cifrado deseado. Las opciones son:
  • enc_aes256
  • enc_fp_ascii
  • enc_fp_alphanum

(donde fp se refiere al cifrado que conserva el formato)

  1. Configure el objeto usando el método begin().
  2. Establezca una  contraseña para la clase de cifrado mediante el método setPass().
  3. Llama al método doTransform() con un parámetro de cadena (la cadena que se cifrará). El valor devuelto es el nuevo valor cifrado.
  4. Una vez que haya terminado, elimine el objeto de clase de cifrado con el método end().

Para usar estas funciones en Java, necesita un parámetro adicional para todas las llamadas a funciones. El parámetro es un puntero al objeto que proviene de una llamada a getptr().

Ejemplo de llamada begin() en Java:obj.begin(obj.getptr());

Para usar el valor de descifrado de la clase de cifrado elegida, reemplace "enc" con "dec". El resto de las llamadas a métodos serán las mismas.

Ejemplo enc_aes256 se convierte en dec_aes256.

Clases de conversión

Hex / Base64 / Hash Sha256

obj =new ();
cadena codificada =obj.(inputString, input.Length);

Reemplazar caracteres

int[] posición ={0,4};
replace_char obj =new replace_char();
cadena codificada =obj.maskString(inputString, '#', posición);

  1. Para usar una clase de conversión de FieldShield, cree un objeto de clase de conversión del tipo de conversión deseado. Las opciones son:
  • hexágono
  • base64
  • hash_sha256
  • reemplazar_char
  1. Para codificar/decodificar un valor, llame al método de codificación/decodificación de las clases elegidas. Este método necesita dos parámetros; la cadena para codificar/decodificar y la longitud de la cadena para codificar. El método devuelve la cadena codificada/descodificada.
  • codificación_hexadecimal/decodificación_hexadecimal
  • base64_encode/base64_decode
  • sha256_hash
  • cadena de máscara
  1. El método sha256_hash es estático en .NET y se llama desde un objeto hash_sha256 estático. En Java, se llama desde una instancia de un objeto hash_sha256.
  2. maskString requiere parámetros diferentes a los otros métodos. Se necesitan tres parámetros:el primero es la cadena para reemplazar los caracteres; el segundo es el personaje con el que reemplazarlos; y el tercero es una matriz bidimensional que contiene el valor de la posición para comenzar y la longitud de los caracteres para reemplazar.

Para usar la clase hash_sha256 en Java, necesita un parámetro adicional para todas las llamadas a funciones. El parámetro es un puntero al objeto que proviene de una llamada a getptr().

Ejemplo de llamada sha256_hash() en Java:obj.sha256_hash(obj.getptr(), input, input.length());

A continuación se muestra un ejemplo de cifrado utilizado en Java. Este programa recupera la columna Phone_Number de una base de datos de Oracle y la encripta utilizando la función de encriptación alfanumérica de conservación de formato de FieldShield.

Las funciones del SDK son compatibles con las del paquete principal de FieldShield, por lo que puede cifrar en una y descifrar en otra, por ejemplo. Para cualquier pregunta o soporte técnico utilizando el SDK, comuníquese con su representante de IRI.