Database
 sql >> Database >  >> RDS >> Database

SDK FieldShield

IRI fornisce un kit di sviluppo software (SDK) per aiutare gli utenti FieldShield ad applicare algoritmi di crittografia, decrittografia, hashing e redazione a livello di colonna nei progetti Java e .NET per requisiti di mascheramento dei dati più in-situ o dinamici. Questo articolo illustra la libreria e le funzioni di protezione dei dati a livello di campo/colonna che supporta.

Il codice per gli esempi mostrati è in C#, anche se le chiamate di funzione saranno le stesse in tutti i linguaggi .NET. Java utilizza gli stessi metodi, ma alcuni richiedono un parametro aggiuntivo da utilizzare; questi casi sono menzionati ove necessario.

Esistono due tipi di classi nell'SDK:classi di crittografia e classi di conversione. Le classi di crittografia e decrittografia sono:

  • AES256
  • ASCII
  • Alfanumerico

Le classi di conversione sono:

  • Esadecimale
  • Base64
  • Hash Sha256
  • Sostituzione del personaggio.

Classi di crittografia e decrittografia

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

  1. Per utilizzare una classe di crittografia FieldShield, creare un oggetto classe di crittografia del tipo di crittografia desiderato. Le opzioni sono:
  • enc_aes256
  • enc_fp_ascii
  • enc_fp_alphanum

(dove fp si riferisce alla crittografia di conservazione del formato)

  1. Imposta l'oggetto usando il metodo begin().
  2. Imposta una  password per la classe di crittografia utilizzando il metodo setPass().
  3. Chiama il metodo doTransform() con un parametro stringa (la stringa da crittografare). Il valore restituito è il nuovo valore crittografato.
  4. Una volta terminato, elimina l'oggetto della classe di crittografia con il metodo end().

Per utilizzare queste funzioni in Java, è necessario un parametro aggiuntivo per tutte le chiamate di funzione. Il parametro è un puntatore all'oggetto che proviene da una chiamata a getptr().

Esempio di chiamata begin() in Java:obj.begin(obj.getptr());

Per utilizzare il valore di decrittazione della classe di crittografia scelta, sostituire "enc" con "dec". Il resto delle chiamate al metodo sarà lo stesso.

Esempio enc_aes256 diventa dec_aes256.

Classi di conversione

Hex / Base64 / Hash Sha256

obj =new ();
stringa codificata =obj.(inputString, input.Length);

Sostituisci personaggi

int[] position ={0,4};
replace_char obj =new replace_char();
string encoded =obj.maskString(inputString, '#', position);

  1. Per utilizzare una classe di conversione FieldShield, creare un oggetto classe di conversione del tipo di conversione desiderato. Le opzioni sono:
  • esadecimale
  • base64
  • hash_sha256
  • sostituisci_char
  1. Per codificare/decodificare un valore, chiama il metodo di codifica/decodifica delle classi scelte. Questo metodo richiede due parametri; la stringa da codificare/decodificare e la lunghezza della stringa da codificare. Il metodo restituisce la stringa codificata/decodificata.
  • codifica_esadecimale/decodifica_esadecimale
  • base64_encode/base64_decode
  • sha256_hash
  • Stringa maschera
  1. Il metodo sha256_hash è statico in .NET e viene chiamato da un oggetto statico hash_sha256. In Java, viene chiamato da un'istanza di un oggetto hash_sha256.
  2. maskString richiede parametri diversi rispetto agli altri metodi. Sono necessari tre parametri:il primo è la stringa in cui sostituire i caratteri; il secondo è il carattere con cui sostituirli; e il terzo è un array bidimensionale contenente il valore della posizione da cui partire e la lunghezza dei caratteri da sostituire.

Per utilizzare la classe hash_sha256 in Java, è necessario un parametro aggiuntivo per tutte le chiamate di funzione. Il parametro è un puntatore all'oggetto che proviene da una chiamata a getptr().

Esempio di chiamata sha256_hash() in Java:obj.sha256_hash(obj.getptr(), input, input.length());

Di seguito viene mostrato un esempio di crittografia utilizzata in Java. Questo programma recupera la colonna Phone_Number da un database Oracle e la crittografa utilizzando la funzione di crittografia alfanumerica di conservazione del formato di FieldShield.

Le funzioni nell'SDK sono compatibili con quelle nel pacchetto FieldShield principale, quindi puoi crittografare in uno e decrittografare in un altro, ad esempio. Per qualsiasi domanda o supporto tecnico sull'utilizzo dell'SDK, contatta il tuo rappresentante IRI.