IRI udostępnia zestaw programistyczny (SDK), który pomaga użytkownikom FieldShield stosować algorytmy szyfrowania, odszyfrowywania, mieszania i redakcji na poziomie kolumn w projektach Java i .NET, aby uzyskać więcej wymagań dotyczących maskowania danych in situ lub dynamicznego. W tym artykule omówiono bibliotekę i obsługiwane przez nią funkcje ochrony danych na poziomie pól/kolumn.
Kod pokazanych przykładów jest w języku C#, chociaż wywołania funkcji będą takie same we wszystkich językach .NET. Java używa tych samych metod, ale niektóre wymagają użycia dodatkowego parametru; te przypadki są wymienione w razie potrzeby.
W SDK istnieją dwa typy klas:klasy szyfrowania i klasy konwersji. Klasy szyfrowania i deszyfrowania to:
- AES256
- ASCII
- Alfanumeryczne
Klasy konwersji to:
- szesnastkowy
- Base64
- Hash Sha256
- Zamiana znaków.
Klasy szyfrowania i deszyfrowania
int iResult =obj.begin();
obj.setPass("TEST");
string output =obj.doTransform („TestString”);
obj.end();
- Aby użyć klasy szyfrowania FieldShield, utwórz obiekt klasy szyfrowania o żądanym typie szyfrowania. Dostępne opcje to:
- enc_aes256
- enc_fp_ascii
- enc_fp_alphanum
(gdzie fp oznacza szyfrowanie z zachowaniem formatu)
- Ustaw obiekt za pomocą metody begin().
- Ustaw hasło dla klasy szyfrowania za pomocą metody setPass().
- Wywołaj metodę doTransform() z parametrem ciągu (ciąg do zaszyfrowania). Zwracana wartość to nowa zaszyfrowana wartość.
- Po zakończeniu usuń obiekt klasy szyfrowania za pomocą metody end().
Aby używać tych funkcji w Javie, potrzebujesz dodatkowego parametru dla wszystkich wywołań funkcji. Parametr jest wskaźnikiem do obiektu, który pochodzi z wywołania getptr().
Przykładowe wywołanie begin() w Javie:obj.begin(obj.getptr());
Aby użyć wartości deszyfrowania wybranej klasy szyfrowania, zamień „enc” na „dec”. Pozostałe wywołania metod będą takie same.
Przykład enc_aes256 staje się dec_aes256.
Klasy konwersji
Heks / Base64 / Hash Sha256
zakodowany ciąg znaków =obj.
Zamień znaki
int[] position ={0,4};
replace_char obj =new replace_char();
ciąg zakodowany =obj.maskString(inputString, ‘#’, position);
- Aby użyć klasy konwersji FieldShield, utwórz obiekt klasy konwersji o żądanym typie konwersji. Dostępne opcje to:
- szesnastkowy
- base64
- hash_sha256
- zamień_znak
- Aby zakodować/dekodować wartość, wywołaj metodę kodowania/dekodowania wybranej klasy. Ta metoda wymaga dwóch parametrów; ciąg do zakodowania/dekodowania oraz długość ciągu do zakodowania. Metoda zwraca zakodowany/odkodowany ciąg.
- hex_encode/hex_decode
- base64_encode/base64_decode
- sha256_hash
- Ciąg maski
- Metoda sha256_hash jest statyczna w .NET i jest wywoływana ze statycznego obiektu hash_sha256. W Javie jest wywoływany z instancji obiektu hash_sha256.
- maskString wymaga innych parametrów niż pozostałe metody. Potrzebne są trzy parametry:pierwszy to łańcuch zastępujący znaki; druga to postać, którą należy je zastąpić; a trzecia to dwuwymiarowa tablica zawierająca wartość pozycji, od której należy zacząć i długość znaków do zastąpienia.
Aby użyć klasy hash_sha256 w Javie, potrzebujesz dodatkowego parametru dla wszystkich wywołań funkcji. Parametr jest wskaźnikiem do obiektu, który pochodzi z wywołania getptr().
Przykładowe wywołanie sha256_hash() w Javie:obj.sha256_hash(obj.getptr(), input, input.length());
Poniżej przedstawiono przykład szyfrowania używanego w Javie. Ten program pobiera kolumnę Phone_Number z bazy danych Oracle i szyfruje ją za pomocą funkcji szyfrowania alfanumerycznego FieldShield z zachowaniem formatu.
Funkcje w SDK są kompatybilne z funkcjami głównego pakietu FieldShield, więc możesz na przykład szyfrować w jednym i odszyfrowywać w innym. W przypadku jakichkolwiek pytań lub pomocy technicznej dotyczącej korzystania z pakietu SDK, skontaktuj się z przedstawicielem IRI.