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

FieldShield-SDK

IRI stellt ein Software Development Kit (SDK) bereit, um FieldShield-Benutzern dabei zu helfen, Verschlüsselungs-, Entschlüsselungs-, Hashing- und Schwärzungsalgorithmen auf Spaltenebene in Java- und .NET-Projekten für mehr In-situ- oder dynamische Datenmaskierungsanforderungen anzuwenden. Dieser Artikel behandelt die Bibliothek und die von ihr unterstützten Datenschutzfunktionen auf Feld-/Spaltenebene.

Der Code für die gezeigten Beispiele ist in C#, obwohl die Funktionsaufrufe in allen .NET-Sprachen gleich sind. Java verwendet die gleichen Methoden, einige erfordern jedoch die Verwendung eines zusätzlichen Parameters. diese Fälle werden bei Bedarf erwähnt.

Es gibt zwei Arten von Klassen im SDK:Verschlüsselungsklassen und Konvertierungsklassen. Die Verschlüsselungs- und Entschlüsselungsklassen sind:

  • AES256
  • ASCII
  • Alphanumerisch

Die Konvertierungsklassen sind:

  • Hexadezimal
  • Base64
  • Hash Sha256
  • Zeichen ersetzen.

Verschlüsselungs- und Entschlüsselungsklassen

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

  1. Um eine FieldShield-Verschlüsselungsklasse zu verwenden, erstellen Sie ein Verschlüsselungsklassenobjekt des gewünschten Verschlüsselungstyps. Die Optionen sind:
  • enc_aes256
  • enc_fp_ascii
  • enc_fp_alphanum

(wobei sich fp auf formaterhaltende Verschlüsselung bezieht)

  1. Richten Sie das Objekt mit der Methode begin() ein.
  2. Legen Sie mithilfe der Methode setPass() ein  Passwort für die Verschlüsselungsklasse fest.
  3. Rufen Sie die Methode doTransform() mit einem String-Parameter (dem zu verschlüsselnden String) auf. Der Rückgabewert ist der neue verschlüsselte Wert.
  4. Wenn Sie fertig sind, löschen Sie das Objekt der Verschlüsselungsklasse mit der Methode end().

Um diese Funktionen in Java zu verwenden, benötigen Sie für alle Funktionsaufrufe einen zusätzlichen Parameter. Der Parameter ist ein Zeiger auf das Objekt, das von einem Aufruf von getptr() stammt.

Beispiel für einen Aufruf von begin() in Java:obj.begin(obj.getptr());

Um den Entschlüsselungswert der gewählten Verschlüsselungsklasse zu verwenden, ersetzen Sie „enc“ durch „dec“. Der Rest der Methodenaufrufe ist gleich.

Beispiel enc_aes256 wird zu dec_aes256.

Umwandlungsklassen

Hex / Base64 / Hash Sha256

obj =new ();
string encoded =obj.(inputString, input.Length);

Zeichen ersetzen

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

  1. Um eine FieldShield-Konvertierungsklasse zu verwenden, erstellen Sie ein Konvertierungsklassenobjekt des gewünschten Konvertierungstyps. Die Optionen sind:
  • hex
  • base64
  • hash_sha256
  • replace_char
  1. Um einen Wert zu codieren/decodieren, rufen Sie die encode/decode-Methode der ausgewählten Klasse auf. Diese Methode benötigt zwei Parameter; die zu codierende/decodierende Zeichenfolge und die Länge der zu codierenden Zeichenfolge. Die Methode gibt den codierten/decodierten String zurück.
  • hex_encode/hex_decode
  • base64_encode/base64_decode
  • sha256_hash
  • maskString
  1. Die Methode sha256_hash ist in .NET statisch und wird von einem statischen hash_sha256-Objekt aufgerufen. In Java wird es von einer Instanz eines hash_sha256-Objekts aufgerufen.
  2. maskString erfordert andere Parameter als die anderen Methoden. Drei Parameter werden benötigt:der erste ist die Zeichenkette, in der die Zeichen ersetzt werden; das zweite ist das Zeichen, durch das sie ersetzt werden; und das dritte ist ein zweidimensionales Array, das den Wert der Startposition und die Länge der zu ersetzenden Zeichen enthält.

Um die Klasse hash_sha256 in Java zu verwenden, benötigen Sie einen zusätzlichen Parameter für alle Funktionsaufrufe. Der Parameter ist ein Zeiger auf das Objekt, das von einem Aufruf von getptr() stammt.

Beispiel für einen Aufruf von sha256_hash() in Java:obj.sha256_hash(obj.getptr(), input, input.length());

Ein Beispiel für die in Java verwendete Verschlüsselung ist unten dargestellt. Dieses Programm ruft die Spalte Phone_Number aus einer Oracle-Datenbank ab und verschlüsselt sie mit der formaterhaltenden alphanumerischen Verschlüsselungsfunktion von FieldShield.

Die Funktionen im SDK sind mit denen im FieldShield-Hauptpaket kompatibel, sodass Sie beispielsweise in einem verschlüsseln und in einem anderen entschlüsseln können. Wenden Sie sich bei Fragen oder technischem Support zur Verwendung des SDK an Ihren IRI-Vertreter.