La fonction ILE CIPHER constitue le moyen le plus simple de mettre en oeuvre le cryptage DES sur l'AS/400. Notez bine qu'il ne faut pas confondre la fonction intégrée ILE CIPHER avec une fonction intégrée ILE. Les fonctions “intégrées” (built-in function ou BIF) sont des constructions RPG ILE, telles que
La fonction intégrée _CIPHER
%SUBST.
Le type de fonctions “intégrées” dont nous parlons ici sont des instructions en
langage MI, dont le nom commence par un caractère souligné (_). Ces instructions
font souvent partie du code source RPG ILE, et les appels à ces fonctions ressemblent
aux appels à des procédures liées, sauf qu’ils ne créent aucune entrée supplémentaire
dans la pile d’appel.
Le manuel IBM Machine Interface Functional Reference (SC41-5810) documente
la fonction _CIPHER. La figure 1 décrit les trois paramètres obligatoires de la
fonction. Le premier et le troisième paramètres représentent respectivement des
pointeurs vers le texte chiffré en sortie et le texte en clair en entrée. Le deuxième
paramètre est une structure de données de 32 octets dans laquelle on place les
cinq renseignements suivants :
- un identificateur de fonction entière sur deux octets, dont la valeur doit
être égale à 2 pour crypter - un entier codé sur deux octets et représentant la longueur du texte en
clair. Cette valeur doit être un multiple de 8 et inférieure à 64 - un sélecteur de mode d’un octet qui doit être égal à X’00’ pour le mode
ECB ou X’40’ pour le mode CBC - la clé de 56 bits, repartie sur huit octets
- une valeur de chaînage initiale de huit octets, utilisée lorsque le sélecteur
de mode est X’40’ pour le mode CBC
A partir du RPG/400 ILE, on peut utiliser le code opération CALLP ou CALLB pour
invoquer la fonction _CIPHER (même si _CIPHER ne peut pas être appelé via un pointeur
de procédure, ni même voir son adresse récupérée avec la fonction intégrée ILE
%PADDR). La figure 2 présente un programme RPG/400 ILE appelant _CIPHER pour crypter
une ID utilisateur de 16 octets. A partir d’un mot de passe de huit octets, le
programme RPG commence par générer une clé DES de 56 bits utilisant des opérations
BITON/BITOFF. Il invoque ensuite _CIPHER pour coder le texte en clair de l’ID
utilisateur en mode CBC. Le mot de passe converti représente la clé. En principe,
la fonction appelant ce programme compare l’ID utilisateur cryptée avec une ID
utilisateur cryptée enregistrée précédemment dans la base de données. Si les deux
coïncident, l’application autorise l’utilisateur à continuer.
Téléchargez cette ressource
Créer des agents dans Microsoft 365 Copilot
Insight vous guide dans l’utilisation de la nouvelle expérience de création d’agents dans Microsoft Copilot Studio, disponible dans Copilot Chat. Découvrez les étapes clés pour concevoir, configurer et déployer ces nouveaux agents et injecter la puissance de l’IA directement dans le flux de travail.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- À l’aube de 2026, le SaaS entre dans une nouvelle phase
- Face à l’urgence écologique, l’IT doit faire sa révolution
- IoT et cybersécurité : les bases que chaque décideur doit maîtriser
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
