sql >> Databasteknik >  >> RDS >> Database

FieldShield SDK

IRI tillhandahåller ett mjukvaruutvecklingskit (SDK) för att hjälpa FieldShield-användare att tillämpa kryptering, dekryptering, hash- och redaktionsalgoritmer på kolumnnivå i Java- och .NET-projekt för fler krav på in-situ eller dynamisk datamaskering. Den här artikeln täcker biblioteket och dataskyddsfunktionerna på fält-/kolumnnivå som det stöder.

Koden för exemplen som visas är i C#, även om funktionsanropen kommer att vara desamma i alla .NET-språk. Java använder samma metoder, men vissa kräver en extra parameter för att användas; dessa fall nämns där det behövs.

Det finns två typer av klasser i SDK:n:krypteringsklasser och konverteringsklasser. Krypterings- och dekrypteringsklasserna är:

  • AES256
  • ASCII
  • Alfanumerisk

Konverteringsklasserna är:

  • Hexadecimal
  • Base64
  • Hash Sha256
  • Teckenbyter ut.

Krypterings- och dekrypteringsklasser

obj=ny ();
int iResult =obj.begin();
obj.setPass(“TEST”);
strängutgång =obj.doTransform ("TestString");
obj.end();

  1. För att använda en FieldShield-krypteringsklass, skapa ett krypteringsklassobjekt av önskad krypteringstyp. Alternativen är:
  • enc_aes256
  • enc_fp_ascii
  • enc_fp_alphanum

(där fp hänvisar till formatbevarande kryptering)

  1. Ställ in objektet med metoden begin().
  2. Ange ett  lösenord för krypteringsklassen med metoden setPass().
  3. Anropa metoden doTransform() med en strängparameter (strängen som ska krypteras). Returvärdet är det nya krypterade värdet.
  4. När du är klar, ta bort krypteringsklassobjektet med end()-metoden.

För att använda dessa funktioner i Java behöver du en extra parameter för alla funktionsanrop. Parametern är en pekare till objektet som kommer från ett anrop till getptr().

Exempel start()-anrop i Java:obj.begin(obj.getptr());

För att använda dekrypteringsvärdet för den valda krypteringsklassen, ersätt "enc" med "dec". Resten av metodanropen kommer att vara desamma.

Exempel enc_aes256 blir dec_aes256.

Konverteringsklasser

Hex / Base64 / Hash Sha256

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

Ersätt tecken

int[] position ={0,4};
replace_char obj =new replace_char();
sträng kodad =obj.maskString(inputString, '#', position);

  1. För att använda en FieldShield-konverteringsklass, skapa ett konverteringsklassobjekt av önskad konverteringstyp. Alternativen är:
  • hex
  • base64
  • hash_sha256
  • ersätt_char
  1. För att koda/avkoda ett värde, anropa den valda klassmetoden koda/avkoda. Denna metod behöver två parametrar; strängen som ska kodas/avkodas och längden på strängen som ska kodas. Metoden returnerar den kodade/avkodade strängen.
  • hex_encode/hex_decode
  • base64_encode/base64_decode
  • sha256_hash
  • maskString
  1. Sha256_hash-metoden är statisk i .NET och anropas från ett statiskt hash_sha256-objekt. I Java anropas det från en instans av ett hash_sha256-objekt.
  2. maskString kräver andra parametrar än de andra metoderna. Tre parametrar behövs:den första är strängen för att ersätta tecknen i; den andra är karaktären att ersätta dem med; och den tredje är en tvådimensionell matris som innehåller värdet på positionen att börja på och längden på tecken som ska ersättas.

För att använda klassen hash_sha256 i Java behöver du en extra parameter för alla funktionsanrop. Parametern är en pekare till objektet som kommer från ett anrop till getptr().

Exempel sha256_hash()-anrop i Java:obj.sha256_hash(obj.getptr(), input, input.length());

Ett exempel på kryptering som används i Java visas nedan. Det här programmet hämtar kolumnen Phone_Number från en Oracle-databas och krypterar den med FieldShields formatbevarande alfanumeriska krypteringsfunktion.

Funktionerna i SDK:n är kompatibla med de i huvudpaketet FieldShield så att du till exempel kan kryptera i en och dekryptera i en annan. Kontakta din IRI-representant om du har frågor eller teknisk support med hjälp av SDK:n.


  1. Återställer SQL Server Master Database

  2. Azure SQL Database Automatic Tuning

  3. Hur man extraherar en delsträng från en sträng i PostgreSQL/MySQL

  4. Postgres - SKAPA TABELL FRÅN SELECT