IRI biedt een Software Development Kit (SDK) om FieldShield-gebruikers te helpen bij het toepassen van algoritmen voor versleuteling, decodering, hashing en redactie op kolomniveau in Java- en .NET-projecten voor meer in-situ of dynamische vereisten voor gegevensmaskering. Dit artikel behandelt de bibliotheek en de gegevensbeschermingsfuncties op veld-/kolomniveau die het ondersteunt.
De code voor de getoonde voorbeelden is in C#, hoewel de functieaanroepen hetzelfde zullen zijn in alle .NET-talen. Java gebruikt dezelfde methoden, maar voor sommige is een extra parameter vereist; die gevallen worden vermeld waar nodig.
Er zijn twee soorten klassen in de SDK:versleutelingsklassen en conversieklassen. De coderings- en decoderingsklassen zijn:
- AES256
- ASCII
- Alfanumeriek
De conversieklassen zijn:
- Hexadecimaal
- Base64
- Hash Sha256
- Teken vervangen.
Encryptie- en decryptieklassen
int iResult =obj.begin();
obj.setPass(“TEST”);
string output =obj.doTransform (“TestString”);
obj.end();
- Als u een FieldShield-coderingsklasse wilt gebruiken, maakt u een coderingsklasse-object van het gewenste coderingstype. De opties zijn:
- enc_aes256
- enc_fp_ascii
- enc_fp_alphanum
(waar fp verwijst naar formaatbehoudende encryptie)
- Stel het object in met behulp van de begin()-methode.
- Stel een wachtwoord in voor de versleutelingsklasse met behulp van de setPass()-methode.
- Roep de methode doTransform() aan met een stringparameter (de string die moet worden versleuteld). De retourwaarde is de nieuwe versleutelde waarde.
- Als u klaar bent, verwijdert u het versleutelingsklasse-object met de methode end() .
Om deze functies in Java te gebruiken, heb je een extra parameter nodig voor alle functieaanroepen. De parameter is een verwijzing naar het object dat afkomstig is van een aanroep van getptr().
Voorbeeld begin() aanroep in Java:obj.begin(obj.getptr());
Om de decoderingswaarde van de gekozen coderingsklasse te gebruiken, vervangt u "enc" door "dec". De rest van de methodeaanroepen zullen hetzelfde zijn.
Voorbeeld enc_aes256 wordt dec_aes256.
Conversieklassen
Hex / Base64 / Hash Sha256
string gecodeerd =obj.
Tekens vervangen
int[] position ={0,4};
replace_char obj =new Replace_char();
string encoded =obj.maskString(inputString, '#', position);
- Als u een FieldShield-conversieklasse wilt gebruiken, maakt u een conversieklasseobject van het gewenste conversietype. De opties zijn:
- hex
- base64
- hash_sha256
- replace_char
- Als u een waarde wilt coderen/decoderen, roept u de gekozen klassencodeer-/decodeermethode aan. Deze methode heeft twee parameters nodig; de te coderen/decoderen string en de lengte van de te coderen string. De methode retourneert de gecodeerde/gedecodeerde tekenreeks.
- hex_encode/hex_decode
- base64_encode/base64_decode
- sha256_hash
- maskString
- De sha256_hash-methode is statisch in .NET en wordt aangeroepen vanuit een statisch hash_sha256-object. In Java wordt het aangeroepen vanuit een instantie van een hash_sha256-object.
- maskString vereist andere parameters dan de andere methoden. Er zijn drie parameters nodig:de eerste is de tekenreeks waarin de tekens moeten worden vervangen; de tweede is het karakter waarmee ze worden vervangen; en de derde is een tweedimensionale array die de waarde bevat van de positie waarmee moet worden begonnen en de lengte van de tekens die moeten worden vervangen.
Om de klasse hash_sha256 in Java te gebruiken, heb je een extra parameter nodig voor alle functieaanroepen. De parameter is een verwijzing naar het object dat afkomstig is van een aanroep van getptr().
Voorbeeld sha256_hash() aanroep in Java:obj.sha256_hash(obj.getptr(), input, input.length());
Hieronder ziet u een voorbeeld van codering die in Java wordt gebruikt. Dit programma haalt de kolom Telefoonnummer op uit een Oracle-database en versleutelt deze met behulp van FieldShield's formaatbehoudende alfanumerieke coderingsfunctie.
De functies in de SDK zijn compatibel met die in het hoofdpakket van FieldShield, zodat u bijvoorbeeld in de ene kunt versleutelen en in een andere kunt ontsleutelen. Neem voor vragen of technische ondersteuning bij het gebruik van de SDK contact op met uw IRI-vertegenwoordiger.