IRI poskytuje sadu pro vývoj softwaru (SDK), která uživatelům FieldShield pomáhá používat algoritmy šifrování, dešifrování, hashování a redigování na úrovni sloupců v projektech Java a .NET pro více požadavků na in-situ nebo dynamické maskování dat. Tento článek popisuje knihovnu a funkce ochrany dat na úrovni polí/sloupců, které podporuje.
Kód pro uvedené příklady je v C#, i když volání funkcí budou stejná ve všech jazycích .NET. Java používá stejné metody, ale některé vyžadují použití dalšího parametru; tyto případy jsou uvedeny v případě potřeby.
V sadě SDK existují dva typy tříd:třídy šifrování a třídy převodu. Třídy šifrování a dešifrování jsou:
- AES256
- ASCII
- Alfanumerické
Konverzní třídy jsou:
- Hexadecimální
- Base64
- Hash Sha256
- Nahrazení znaků.
Třídy šifrování a dešifrování
int iResult =obj.begin();
obj.setPass(“TEST”);
výstup řetězce =obj.doTransform („TestString“);
obj.end();
- Chcete-li použít třídu šifrování FieldShield, vytvořte objekt třídy šifrování požadovaného typu šifrování. Možnosti jsou:
- enc_aes256
- enc_fp_ascii
- enc_fp_alphanum
(kde fp označuje šifrování zachovávající formát)
- Nastavte objekt pomocí metody begin().
- Nastavte heslo pro třídu šifrování pomocí metody setPass().
- Zavolejte metodu doTransform() s parametrem řetězce (řetězec, který má být zašifrován). Návratová hodnota je nová zašifrovaná hodnota.
- Po dokončení odstraňte objekt třídy šifrování pomocí metody end().
Chcete-li používat tyto funkce v Javě, potřebujete další parametr pro všechna volání funkcí. Parametr je ukazatel na objekt, který pochází z volání getptr().
Příklad volání begin() v Javě:obj.begin(obj.getptr());
Chcete-li použít dešifrovací hodnotu zvolené třídy šifrování, nahraďte „enc“ za „dec“. Zbytek volání metod bude stejný.
Příklad enc_aes256 se změní na dec_aes256.
Třídy konverzí
Hex / Base64 / Hash Sha256
string encoded =obj.
Nahradit znaky
int[] pozice ={0,4};
nahradit_znak obj =nový nahradit_char();
zakódovaný řetězec =obj.maskString(inputString, ‚#‘, pozice);
- Chcete-li použít třídu převodu FieldShield, vytvořte objekt třídy převodu požadovaného typu převodu. Možnosti jsou:
- hexadecimální
- base64
- hash_sha256
- replace_char
- Chcete-li zakódovat/dekódovat hodnotu, zavolejte metodu encode/decode vybrané třídy. Tato metoda potřebuje dva parametry; řetězec, který se má zakódovat/dekódovat, a délku řetězce, který se má zakódovat. Metoda vrací zakódovaný/dekódovaný řetězec.
- hex_encode/hex_decode
- base64_encode/base64_decode
- sha256_hash
- maskString
- Metoda sha256_hash je v .NET statická a je volána ze statického objektu hash_sha256. V Javě se volá z instance objektu hash_sha256.
- maskString vyžaduje jiné parametry než ostatní metody. Jsou potřeba tři parametry:první je řetězec, ve kterém se nahradí znaky; druhý je znak, kterým je nahradit; a třetí je dvourozměrné pole obsahující hodnotu pozice pro začátek a délku znaků, které mají být nahrazeny.
Chcete-li použít třídu hash_sha256 v Javě, potřebujete další parametr pro všechna volání funkcí. Parametr je ukazatel na objekt, který pochází z volání getptr().
Příklad volání sha256_hash() v Javě:obj.sha256_hash(obj.getptr(), input, input.length());
Níže je uveden příklad šifrování používaného v Javě. Tento program načte sloupec Phone_Number z databáze Oracle a zašifruje jej pomocí alfanumerické šifrovací funkce FieldShield pro zachování formátu.
Funkce v SDK jsou kompatibilní s funkcemi v hlavním balíčku FieldShield, takže můžete například šifrovat v jednom a dešifrovat v jiném. Máte-li jakékoli dotazy nebo technickou podporu pomocí sady SDK, kontaktujte svého zástupce IRI.