|
|
|
|
|
DécrypteStandard (Fonction) En anglais : DecryptStandard Décrypte un message préalablement crypté avec un algorithme de chiffrement standard. Contrairement aux fonctions Crypte et Décrypte, les fonctions CrypteStandard et DécrypteStandard utilisent des algorithmes de cryptage standard qui permettent d'échanger des messages cryptés entre des plateformes d'exécution différentes (Windows, Linux, Android, Java, iOS, PHP, etc.) et/ou avec des outils tiers. // Cryptage d'une chaîne de caractères en utilisant l'algorithme AES sMessage est un Buffer = "Message à crypter" sMotPasse est une chaîne ANSI = "mot de passe" bufClé est un Buffer = HashChaîne(HA_MD5_128, sMotPasse) bufCrypte est un Buffer = CrypteStandard(sMessage, bufClé, crypteAES128) // Décryptage bufRésultat est un Buffer = DécrypteStandard(bufCrypte, bufClé, crypteAES128) Info(bufRésultat) Syntaxe
<Résultat> = DécrypteStandard(<Message crypté> , <Clé> [, <Algorithme> [, <Mode d'opération> [, <Remplissage>]]])
<Résultat> : Buffer binaire - Résultat du décryptage du message spécifié,
- Chaîne vide ("") en cas d'erreur. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Message crypté> : Buffer binaire Message à décrypter. Ce message peut être le résultat du cryptage obtenu lors de l'appel de la fonction CrypteStandard.Ce buffer doit être composé de deux parties : - Le vecteur d'initialisation (Initialisation Vector ou IV) utilisé pour crypter les données.
- Les données cryptées.
Si le message a été crypté : - avec la fonction CrypteStandard, ce paramètre doit correspondre à la valeur retournée par la fonction.
- par un outil tiers, il est nécessaire de construire le buffer en concaténant les données cryptées au vecteur d'initialisation utilisé.
Remarque : si le mode d'opération spécifié est crypteECB, aucun vecteur d'initialisation n'a été utilisé pour crypter le message et dans ce cas le paramètre doit correspondre directement aux données cryptées. <Clé> : Buffer Clé avec laquelle les données ont été cryptées. Cette clé doit être identique à celle fournie lors du cryptage du message. <Algorithme> : Constante optionnelle de type Entier Algorithme de cryptage utilisé. Ce paramètre doit correspondre à l'algorithme utilisé pour le cryptage du message. | | crypte3DES | Triple Data Encryption Standard. - Taille de la clé : 192 bits.
- Taille des blocs : 64 bits.
- Taille du vecteur d'initialisation (IV) : 64 bits.
| crypteAES128 (Valeur par défaut) | Advanced Encryption Standard. - Taille de la clé : 128 bits.
- Taille des blocs : 128 bits.
- Taille du vecteur d'initialisation (IV) : 128 bits.
| Nouveauté SaaScrypteAES192 | Advanced Encryption Standard. - Taille de la clé : 192 bits.
- Taille des blocs : 128 bits.
- Taille du vecteur d'initialisation (IV) : 128 bits.
| crypteAES256 | Advanced Encryption Standard. - Taille de la clé : 256 bits.
- Taille des blocs : 128 bits.
- Taille du vecteur d'initialisation (IV) : 128 bits.
| crypteDES | Data Encryption Standard. - Taille de la clé : 64 bits.
- Taille des blocs : 64 bits.
- Taille du vecteur d'initialisation (IV) : 64 bits.
Attention : cet algorithme est actuellement déprécié. |
<Mode d'opération> : Constante optionnelle de type Entier Mode de traitement des blocs par l'algorithme de cryptage utilisé. Ce paramètre doit correspondre au mode d'opération utilisé pour le cryptage du message. | | crypteCBC (Valeur par défaut) | Cipher Block Chaining - Enchaînement des blocs. | crypteCFB | Cipher Feedback - Chiffrement à rétroaction. Nouveauté SaaSDésormais, ce mode de traitement est disponible quel que soit l'algorithme utilisé. | crypteCTR | Cipher Counter - Chiffrement basé sur un compteur. Nouveauté SaaSDésormais, ce mode de traitement est disponible quel que soit l'algorithme utilisé. | crypteECB | Electronic Code Book - Dictionnaire de codes. Ce mode d'opération est déconseillé et ne devrait être utilisé que pour des raisons de compatibilité. |
<Remplissage> : Constante optionnelle de type Entier Mode de remplissage des données cryptées pour être compatibles avec la taille requise par les algorithmes de cryptage par blocs. Ce paramètre doit correspondre au mode de remplissage utilisé pour le cryptage du message. | | cryptePaddingPKCS (Valeur par défaut) | Les données sont complétées par des octets dont la valeur correspond au nombre total d'octets ajoutés pour atteindre la taille requise. | cryptePaddingZéro | Les données sont complétées par des zéros binaires jusqu'à obtenir la taille requise. |
Remarques Les anciennes fonctions Crypte et Décrypte utilisaient un format de chiffrement interne propriétaire. Une chaîne chiffrée avec l’algorithme de la fonction Crypte ne peut donc pas être déchiffrée avec les algorithmes usuels auxquels la fonction DécrypteStandard donne accès. Pour effectuer un changement de solution de chiffrement, il faut : - déchiffrer toutes les données actuelles chiffrées (fonction Décrypte)
- chiffrer ces données avec la fonction CrypteStandard et un nouvel algorithme.
Liste des exemples associés :
|
Exemples unitaires (WINDEV) : Les fonctions de chiffrement (CrypteXXX, DécrypteXXX)
[ + ] Utilisation des fonctions de chiffrement de WINDEV. Cet exemple permet de : - Chiffrer une chaîne de caractères - Déchiffrer une chaîne de caractères
|
Classification Métier / UI : Code métier Composante : wd300com.dll
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|