PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
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.
PHP Cette fonction est disponible pour les sites PHP à partir de la version 200051.
// Cryptage d’une chaîne de caractères en utilisant l’algorithme AES
sMessage est un Buffer = "Message à crypter"
bufCle est un Buffer = HashChaîne(HA_MD5_128, "mot de passe")
bufCrypte est un Buffer = CrypteStandard(sMesssage, bufCle, crypteAES128)
// Décryptage
sRésultat est un Buffer = DécrypteStandard(bufCrypte, bufCle, crypteAES128)
Info(sRé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.
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.
Versions 23 et supérieures
crypteAES256
Nouveauté 23
crypteAES256
crypteAES256
Advanced Encryption Standard.
  • Taille de la clé : 256 bits.
  • Taille des blocs : 128 bits.
  • Taille du vecteur d’initialisation (IV) : 128 bits.
AndroidWidget AndroidJavaPHP Cette constante n'est pas disponible.
crypteDESData Encryption Standard.
  • Taille de la clé : 64 bits.
  • Taille des blocs : 64 bits.
  • Taille du vecteur d'initialisation (IV) : 64 bits.
crypte3DESTriple Data Encryption Standard.
  • Taille de la clé : 192 bits.
  • Taille des blocs : 64 bits.
  • Taille du vecteur d'initialisation (IV) : 64 bits.
<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.
Versions 23 et supérieures
crypteCFB
Nouveauté 23
crypteCFB
crypteCFB
Cipher Feedback - Chiffrement à rétroaction. Ce mode de traitement est disponible uniquement si l'algorithme utilisé correspond à la constante crypteAES256.
AndroidWidget AndroidJavaPHP Cette constante n'est pas disponible.
Versions 23 et supérieures
crypteCTR
Nouveauté 23
crypteCTR
crypteCTR
Cipher Counter - Chiffrement basé sur un compteur. Ce mode de traitement est disponible uniquement si l'algorithme utilisé correspond à la constante crypteAES256.
AndroidWidget AndroidJavaPHP Cette constante n'est pas disponible.
crypteECBElectronic 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éroLes données sont complétées par des zéros binaires jusqu'à obtenir la taille requise.
Liste des exemples associés :
Les fonctions Crypte Exemples unitaires (WINDEV) : Les fonctions Crypte
[ + ] Utilisation des fonctions de cryptage / décryptage de WINDEV.
Cet exemple permet de :
- Crypter une chaîne de caractères
- Décrypter une chaîne de caractères
Composantes
WINDEVWEBDEV - Code ServeurEtats et Requêtes wd230com.dll
Java wd230java.jar
Linux wd230com.so
Android wd230android.jar
Version minimum requise
  • Version 20
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire