Database
 sql >> Base de Dados >  >> RDS >> Database

SDK FieldShield


A IRI fornece um kit de desenvolvimento de software (SDK) para ajudar os usuários do FieldShield a aplicar algoritmos de criptografia, descriptografia, hash e redação em nível de coluna em projetos Java e .NET para requisitos de mascaramento de dados mais dinâmicos ou in-situ. Este artigo aborda a biblioteca e as funções de proteção de dados em nível de campo/coluna que ela suporta.

O código para os exemplos mostrados está em C#, embora as chamadas de função sejam as mesmas em todas as linguagens .NET. Java usa os mesmos métodos, mas alguns requerem um parâmetro extra para ser usado; esses casos são mencionados quando necessário.

Existem dois tipos de classes no SDK:classes de criptografia e classes de conversão. As classes de criptografia e descriptografia são:
  • AES256
  • ASCI
  • Alfanumérico

As classes de conversão são:
  • Hexadecimal
  • Base64
  • Hash Sha256
  • Substituição de caracteres.

Classes de criptografia e descriptografia


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


  1. Para usar uma classe de criptografia FieldShield, crie um objeto de classe de criptografia do tipo de criptografia desejado. As opções são:
  • enc_aes256
  • enc_fp_ascii
  • enc_fp_alphanum

(onde fp se refere à criptografia com preservação de formato)
  1. Configure o objeto usando o método begin().
  2. Defina uma  senha para a classe de criptografia usando o método setPass().
  3. Chame o método doTransform() com um parâmetro de string (a string a ser criptografada). O valor de retorno é o novo valor criptografado.
  4. Ao terminar, exclua o objeto da classe de criptografia com o método end().

Para usar essas funções em Java, você precisa de um parâmetro extra para todas as chamadas de função. O parâmetro é um ponteiro para o objeto que vem de uma chamada para getptr().

Exemplo de chamada begin() em Java:obj.begin(obj.getptr());

Para usar o valor de descriptografia da classe de criptografia escolhida, substitua “enc” por “dec”. O restante das chamadas de método será o mesmo.

Exemplo enc_aes256 torna-se dec_aes256.

Aulas de conversão

Hex / Base64 / Hash Sha256

obj =new ();
string codificada =obj.(inputString, input.Length);
Substituir caracteres

int[] position ={0,4};
replace_char obj =new replace_char();
string codificada =obj.maskString(inputString, ‘#’, position);
  1. Para usar uma classe de conversão FieldShield, crie um objeto de classe de conversão do tipo de conversão desejado. As opções são:
  • hex
  • base64
  • hash_sha256
  • substituir_char
  1. Para codificar/decodificar um valor, chame o método de codificar/decodificar as classes escolhidas. Este método precisa de dois parâmetros; a string para codificar/decodificar e o comprimento da string para codificar. O método retorna a string codificada/decodificada.
  • hex_encode/hex_decode
  • base64_encode/base64_decode
  • sha256_hash
  • maskString
  1. O método sha256_hash é estático em .NET e é chamado de um objeto estático hash_sha256. Em Java, ele é chamado de uma instância de um objeto hash_sha256.
  2. maskString requer parâmetros diferentes dos outros métodos. Três parâmetros são necessários:o primeiro é a string para substituir os caracteres; o segundo é o caractere pelo qual substituí-los; e a terceira é uma matriz bidimensional contendo o valor da posição inicial e o comprimento dos caracteres a serem substituídos.

Para usar a classe hash_sha256 em Java, você precisa de um parâmetro extra para todas as chamadas de função. O parâmetro é um ponteiro para o objeto que vem de uma chamada para getptr().

Exemplo de chamada sha256_hash() em Java:obj.sha256_hash(obj.getptr(), input, input.length());

Um exemplo de criptografia usado em Java é mostrado abaixo. Este programa recupera a coluna Phone_Number de um banco de dados Oracle e a criptografa usando a função de criptografia alfanumérica de preservação de formato do FieldShield.



As funções do SDK são compatíveis com as do pacote FieldShield principal para que você possa criptografar em uma e descriptografar em outra, por exemplo. Para qualquer dúvida ou suporte técnico usando o SDK, entre em contato com seu representante IRI.