sql >> Databáze >  >> RDS >> Database

FieldShield SDK

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í

obj=new ();
int iResult =obj.begin();
obj.setPass(“TEST”);
výstup řetězce =obj.doTransform („TestString“);
obj.end();

  1. 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)

  1. Nastavte objekt pomocí metody begin().
  2. Nastavte  heslo pro třídu šifrování pomocí metody setPass().
  3. Zavolejte metodu doTransform() s parametrem řetězce (řetězec, který má být zašifrován). Návratová hodnota je nová zašifrovaná hodnota.
  4. 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

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

Nahradit znaky

int[] pozice ={0,4};
nahradit_znak obj =nový nahradit_char();
zakódovaný řetězec =obj.maskString(inputString, ‚#‘, pozice);

  1. 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
  1. 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
  1. 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.
  2. 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.


  1. jak zřetězit více než dva sloupce ve vývojáři plsql?

  2. Transparent Data Encryption (TDE) na serveru SQL Server ve skupině AlwaysOn Availability na příkladu

  3. Jak zálohovat a obnovit databázi PostgreSQL

  4. Znovu a znovu! Správa opakujících se událostí v datovém modelu