IRI leverer et softwareudviklingskit (SDK) til at hjælpe FieldShield-brugere med at anvende kryptering, dekryptering, hash- og redaktionsalgoritmer på kolonneniveau i Java- og .NET-projekter til flere in-situ eller dynamiske datamaskeringskrav. Denne artikel dækker biblioteket og de databeskyttelsesfunktioner på felt-/kolonneniveau, det understøtter.
Koden for de viste eksempler er i C#, selvom funktionskaldene vil være de samme i alle .NET-sprogene. Java bruger de samme metoder, men nogle kræver en ekstra parameter for at blive brugt; disse tilfælde nævnes, hvor det er nødvendigt.
Der er to typer klasser i SDK'et:krypteringsklasser og konverteringsklasser. Krypterings- og dekrypteringsklasserne er:
- AES256
- ASCII
- Alfanumerisk
Konverteringsklasserne er:
- Hexadecimal
- Base64
- Hash Sha256
- Tegnudskiftning.
Krypterings- og dekrypteringsklasser
int iResult =obj.begin();
obj.setPass(“TEST”);
strengoutput =obj.doTransform ("TestString");
obj.end();
- For at bruge en FieldShield-krypteringsklasse skal du oprette et krypteringsklasseobjekt af den ønskede krypteringstype. Mulighederne er:
- enc_aes256
- enc_fp_ascii
- enc_fp_alphanum
(hvor fp refererer til formatbevarende kryptering)
- Sæt objektet op ved hjælp af begin()-metoden.
- Indstil en adgangskode til krypteringsklassen ved hjælp af setPass()-metoden.
- Kald doTransform()-metoden med en strengparameter (strengen, der skal krypteres). Returværdien er den nye krypterede værdi.
- Når du er færdig, skal du slette krypteringsklasseobjektet med end()-metoden.
For at bruge disse funktioner i Java skal du bruge en ekstra parameter for alle funktionskaldene. Parameteren er en pointer til objektet, som kommer fra et kald til getptr().
Eksempel start()-kald i Java:obj.begin(obj.getptr());
For at bruge dekrypteringsværdien for den valgte krypteringsklasse skal du erstatte "enc" med "dec". Resten af metodekaldene vil være de samme.
Eksempel enc_aes256 bliver dec_aes256.
Konverteringsklasser
Hex / Base64 / Hash Sha256
string encoded =obj.
Erstat tegn
int[] position ={0,4};
replace_char obj =new replace_char();
string encoded =obj.maskString(inputString, '#', position);
- For at bruge en FieldShield-konverteringsklasse skal du oprette et konverteringsklasseobjekt af den ønskede konverteringstype. Mulighederne er:
- hex
- base64
- hash_sha256
- erstat_char
- For at indkode/afkode en værdi skal du kalde den valgte klassers indkodnings-/afkodningsmetode. Denne metode kræver to parametre; strengen, der skal kodes/afkodes, og længden af strengen, der skal kodes. Metoden returnerer den kodede/dekodede streng.
- hex_encode/hex_decode
- base64_encode/base64_decode
- sha256_hash
- maskestreng
- Sha256_hash-metoden er statisk i .NET og kaldes fra et statisk hash_sha256-objekt. I Java kaldes det fra en instans af et hash_sha256-objekt.
- maskString kræver andre parametre end de andre metoder. Tre parametre er nødvendige:den første er strengen til at erstatte tegnene i; den anden er karakteren til at erstatte dem med; og den tredje er en todimensional matrix, der indeholder værdien af den position, der skal startes ved, og længden af tegn, der skal erstattes.
For at bruge klassen hash_sha256 i Java skal du bruge en ekstra parameter for alle funktionskaldene. Parameteren er en pointer til objektet, som kommer fra et kald til getptr().
Eksempel sha256_hash()-kald i Java:obj.sha256_hash(obj.getptr(), input, input.length());
Et eksempel på kryptering brugt i Java er vist nedenfor. Dette program henter kolonnen Phone_Number fra en Oracle-database og krypterer den ved hjælp af FieldShields formatbevarende alfanumeriske krypteringsfunktion.
Funktionerne i SDK'et er kompatible med dem i hovedpakken FieldShield, så du kan kryptere i en og dekryptere i en anden, for eksempel. For spørgsmål eller teknisk support ved brug af SDK'et, kontakt din IRI-repræsentant.