DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de cryptage/compression
  • Cryptage/Décryptage d'un fichier externe
  • Décrypter un flux au format binaire base64binary
  • Cryptage en PHP
  • Cryptage en Android / Java et décryptage par une application WINDEV (ou inversement)
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Avertissement
A partir de la version 22, cette fonction est conservée par compatibilité. Il est conseillé d'utiliser les fonctions CrypteStandard et DécrypteStandard.
Décrypte une chaîne de caractères préalablement cryptée par la fonction Crypte.
Remarque : Si le cryptage et le décryptage se font sur des plateformes différentes (par exemple cryptage sous Android et décryptage sous Windows), utilisez les fonctions CrypteStandard et DécrypteStandard. Pour plus de détails, consultez le paragraphe "Remarques".
// Cryptage d'une chaîne
ResCrypte = Crypte("Le numéro de mon compte en Suisse est 74538290", "MotDePasse")
...
// Décryptage de la chaîne
Res = Décrypte(ResCrypte, "MotDePasse")
// Décodage de données encodées en base 64
bufDecoder est un Buffer = Décrypte(bufBase64, "", crypteAucun, encodeBASE64)
Syntaxe
<Résultat> = Décrypte(<Chaîne cryptée> , <Mot de passe> [, <Type de cryptage effectué> [, <Format de la chaîne cryptée>]])
<Résultat> : Chaîne de caractères
  • Chaîne de caractères décryptée,
  • Chaîne vide ("") en cas d'erreur. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Chaîne cryptée> : Chaîne de caractères
Chaîne de caractères cryptée. Cette chaîne de caractères a été préalablement cryptée avec la fonction Crypte.
<Mot de passe> : Chaîne de caractères
Mot de passe utilisé pour décrypter la chaîne de caractères. Ce mot de passe doit être identique au mot de passe utilisé pour crypter la chaîne de caractères. Un mot de passe long permet une meilleure sécurité de cryptage.
<Type de cryptage effectué> : Constante ou combinaison de constantes optionnelle
Indique le type de cryptage et de décompression effectué. Ce paramètre doit être identique à celui choisi lors du cryptage.
  • Type de cryptage :
    crypteAnsiCette constante est utilisable uniquement en WINDEV Mobile pour Windows CE.
    Le cryptage réalisé est identique à celui réalisé dans une application WINDEV ou WEBDEV.
    Utile pour les applications cryptant en WINDEV Mobile et décryptant en WINDEV par exemple.
    Pour utiliser cette constante, le paramètre <Format de la chaîne cryptée> doit être à Vrai.
    WINDEVWEBDEV - Code ServeurWindowsLinuxUniversal Windows 10 AppAndroidWidget AndroidJavaPHP Cette constante n'a aucun effet.
    crypteAucunAucun cryptage n'a été effectué.
    crypteRapide
    (Valeur par défaut)
    La priorité a été donnée à la rapidité du cryptage (algorithme sur 128 bits).
    Java L'algorithme utilisé sera de type Blowfish.
    AndroidWidget Android Cette constante n'est pas supportée.
    PHP L'algorithme utilisé sera de type BlowFish à 16 rondes.
    crypteRC516La priorité a été donnée à la sécurité du cryptage (algorithme RC5 sur 16 rondes).
    AndroidWidget AndroidJavaPHP Cette constante n'a aucun effet.
    crypteSécuriséLa priorité a été donnée à la sécurité du cryptage (algorithme RC5 sur 128 bits).
    AndroidWidget AndroidJava L'algorithme utilisé sera de type PBE (Password Based Encryption).
    PHP L'algorithme utilisé sera de type RINJDAEL 128 bits.
  • Type de compression :
    compresseAucun
    (Valeur par défaut)
    Aucune compression n'est effectuée.
    AndroidWidget AndroidJavaPHP Cette constante n'a aucun effet.
    compresseChaîneCourteLa chaîne est compressée à l'aide d'un algorithme optimisé pour les chaînes de caractères de petite taille. Cette compression sera efficace uniquement si la constante crypteAucun est sélectionnée et si le paramètre <Format de la chaîne cryptée> correspond à la constante encodeAucun.
    AndroidWidget AndroidJavaPHP Cette constante n'a aucun effet.
    compresseLZWLa chaîne est compressée avant d'être cryptée.
    AndroidWidget AndroidJavaPHP Cette constante n'a aucun effet.
<Format de la chaîne cryptée> : Constante optionnelle de type Entier
Indique le format de la chaîne cryptée. Ce paramètre doit être identique à celui choisi lors du cryptage.
encodeAucun ou FauxFormat binaire. Le fichier crypté peut comporter des caractères non-imprimables.
encodeBASE64Format BASE 64. Le fichier crypté comporte uniquement des caractères imprimables.
Pour décoder un buffer en base 64, il est d'utiliser plus simplement la fonction Décode avec la constante encodeBASE64.
encodePCS ou Vrai
(Valeur par défaut)
Format ASCII. Le fichier crypté comporte uniquement des caractères imprimables.
encodeUUEncodeFormat UUEncode. Le fichier crypté comporte uniquement des caractères imprimables.
AndroidWidget AndroidJava Ce paramètre est ignoré.
Remarques

Cryptage/Décryptage d'un fichier externe

Pour crypter/décrypter un fichier externe, utilisez les fonctions fCrypte et fDécrypte.

Décrypter un flux au format binaire base64binary

Pour décoder une chaîne encodée en base64, il suffit d'utiliser :
ChaîneRésult = Décrypte(ChaîneCodée, "", crypteAucun, encodeBASE64)
// ou
ChaîneRésult = Décode(ChaîneCodée, encodeBASE64)
PHP

Cryptage en PHP

En PHP, le cryptage de type BlowFish (constante crypteRapide) et le cryptage de type RINJDAEL (constante crypteSécurisé) s'appuient sur la librairie MCrypt. Cette librairie est très courante chez les hébergeurs PHP et donc toujours activée. Cette librairie peut être téléchargée sur le site de PHP.
Pour activer si nécessaire cette librairie en local, les éléments nécessaires sont :
  • PHP installé.
  • le fichier PHP.INI présent dans le répertoire Windows doit avoir la ligne "extension=php_mcrypt.dll".
  • le fichier php_mcrypt.dll doit exister dans le répertoire des extensions PHP. Ce répertoire est défini dans le fichier PHP.INI par la variable "extension_dir".
AndroidJava

Cryptage en Android / Java et décryptage par une application WINDEV (ou inversement)

Attention : les algorithmes de cryptage / décryptage utilisés en Java et Android ne sont pas les mêmes que ceux utilisés par WINDEV. Il n'est donc pas possible de crypter une chaîne de caractères en Java ou Android et de la décrypter avec WINDEV (et inversement).
Pour crypter une chaîne de caractères en Java ou Android et de la décrypter avec WINDEV (ou inversement), utilisez les fonctions CrypteStandard et DécrypteStandard.
Liste des exemples associés :
Les fonctions de chiffrement Exemples unitaires (WEBDEV) : Les fonctions de chiffrement
[ + ] Utilisation des fonctions de chiffrement de WEBDEV.
Cet exemple permet de :
- chiffrer une chaîne de caractères
- Déchiffrer une chaîne de caractères
Les fonctions de chiffrement (CrypteXXX, DécrypteXXX) 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
Les fonctions de chiffrement Exemples unitaires (WINDEV Mobile) : Les fonctions de chiffrement
[ + ] Utilisation des fonctions WLangage de chiffrement.
Cet exemple permet de :
- Chiffrer une chaîne de caractères
- Déchiffrer une chaîne de caractères
Composante : wd300std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale