IRI fournit un kit de développement logiciel (SDK) pour aider les utilisateurs de FieldShield à appliquer des algorithmes de chiffrement, de déchiffrement, de hachage et de rédaction au niveau des colonnes dans les projets Java et .NET pour des exigences de masquage de données plus in situ ou dynamiques. Cet article couvre la bibliothèque et les fonctions de protection des données au niveau des champs/colonnes qu'elle prend en charge.
Le code des exemples présentés est en C#, bien que les appels de fonction soient les mêmes dans tous les langages .NET. Java utilise les mêmes méthodes, mais certaines nécessitent l'utilisation d'un paramètre supplémentaire; ces cas sont mentionnés si nécessaire.
Il existe deux types de classes dans le SDK :les classes de chiffrement et les classes de conversion. Les classes de chiffrement et de déchiffrement sont :
- AES256
- ASCII
- Alphanumérique
Les classes de conversion sont :
- Hexadécimal
- Base64
- Hachage Sha256
- Remplacement de caractères.
Classes de chiffrement et de déchiffrement
int iResult =obj.begin();
obj.setPass(“TEST”);
string output =obj.doTransform ("Chaîne de test");
obj.end();
- Pour utiliser une classe de chiffrement FieldShield, créez un objet de classe de chiffrement du type de chiffrement souhaité. Les options sont :
- enc_aes256
- enc_fp_ascii
- enc_fp_alphanum
(où fp fait référence au chiffrement préservant le format)
- Configurez l'objet à l'aide de la méthode begin().
- Définissez un mot de passe pour la classe de chiffrement à l'aide de la méthode setPass().
- Appelez la méthode doTransform() avec un paramètre de chaîne (la chaîne à chiffrer). La valeur de retour est la nouvelle valeur chiffrée.
- Une fois terminé, supprimez l'objet de classe de chiffrement avec la méthode end().
Pour utiliser ces fonctions en Java, vous avez besoin d'un paramètre supplémentaire pour tous les appels de fonction. Le paramètre est un pointeur vers l'objet qui provient d'un appel à getptr().
Exemple d'appel begin() en Java :obj.begin(obj.getptr());
Pour utiliser la valeur de déchiffrement de la classe de chiffrement choisie, remplacez « enc » par « dec ». Le reste des appels de méthode sera le même.
Exemple enc_aes256 devient dec_aes256.
Classes de conversion
Hex / Base64 / Hachage Sha256
chaîne encodée =obj.
Remplacer les caractères
int[] position ={0,4} ;
replace_char obj =new replace_char();
chaîne encodée =obj.maskString(inputString, '#', position);
- Pour utiliser une classe de conversion FieldShield, créez un objet de classe de conversion du type de conversion souhaité. Les options sont :
- hex
- base64
- hash_sha256
- replace_char
- Pour encoder/décoder une valeur, appelez la méthode d'encodage/décodage des classes choisies. Cette méthode nécessite deux paramètres ; la chaîne à encoder/décoder et la longueur de la chaîne à encoder. La méthode renvoie la chaîne encodée/décodée.
- hex_encode/hex_decode
- base64_encode/base64_decode
- sha256_hash
- maskString
- La méthode sha256_hash est statique dans .NET et est appelée à partir d'un objet statique hash_sha256. En Java, il est appelé depuis une instance d'un objet hash_sha256.
- maskString nécessite des paramètres différents des autres méthodes. Trois paramètres sont nécessaires :le premier est la chaîne dans laquelle remplacer les caractères; le second est le caractère avec lequel les remplacer; et le troisième est un tableau à deux dimensions contenant la valeur de la position de départ et la longueur des caractères à remplacer.
Pour utiliser la classe hash_sha256 en Java, vous avez besoin d'un paramètre supplémentaire pour tous les appels de fonction. Le paramètre est un pointeur vers l'objet qui provient d'un appel à getptr().
Exemple d'appel sha256_hash() en Java :obj.sha256_hash(obj.getptr(), input, input.length());
Un exemple de cryptage utilisé en Java est présenté ci-dessous. Ce programme récupère la colonne Phone_Number d'une base de données Oracle et la crypte à l'aide de la fonction de cryptage alphanumérique préservant le format de FieldShield.
Les fonctions du SDK sont compatibles avec celles du package principal FieldShield afin que vous puissiez chiffrer dans l'un et déchiffrer dans un autre, par exemple. Pour toute question ou assistance technique concernant l'utilisation du SDK, contactez votre représentant IRI.