DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des fichiers externes
  • Gestion des erreurs
  • Fonctionnement sous Windows Vista (et supérieur)
  • Cryptage/décryptage d'une chaîne de caractères
  • 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
Décrypte un fichier préalablement crypté par fCrypte.
WINDEVWEBDEV - Code ServeurEtats et RequêtesJavaCode Utilisateur (MCU)Ajax
// Décryptage d'un fichier
ResDécrypte = fDécrypte("C:\MonRep\FichierCrypté.txt", "C:\MonRep\FichierDécrypté.txt", "MotDePasse")
Syntaxe
<Résultat> = fDécrypte(<Chemin du fichier à décrypter> , <Chemin du fichier décrypté> , <Mot de passe> [, <Type de cryptage effectué> [, <Format du fichier crypté>]])
<Résultat> : Booléen
  • Vrai si le décryptage a été effectué,
  • Faux dans le cas contraire. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Chemin du fichier à décrypter> : Chaîne de caractères
Nom et chemin complet (ou relatif) du fichier à décrypter (260 caractères maximum). Un chemin de type UNC peut être utilisé. Ce fichier doit avoir été préalablement crypté par fCrypte.
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
iPhone/iPadWidget IOSMac Catalyst Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous les iPhone/iPad, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
<Chemin du fichier décrypté> : Chaîne de caractères
Nom et chemin complet (ou relatif) du fichier décrypté (260 caractères maximum). Un chemin de type UNC peut être utilisé.
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
iPhone/iPadWidget IOSMac Catalyst Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous les iPhone/iPad, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
<Mot de passe> : Chaîne de caractères
Mot de passe utilisé pour décrypter le fichier. Ce mot de passe doit être identique au mot de passe utilisé pour crypter le fichier. Un mot de passe long permet une meilleure sécurité de cryptage.
<Type de cryptage effectué> : Constante optionnelle
Indique le type de cryptage effectué. Ce paramètre doit être identique à celui choisi lors du cryptage.
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 disponible.
PHP L'algorithme utilisé sera de type Blowfish à 16 rondes.
crypteRC516La priorité est 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 RIJNDAEL 128 bits.
<Format du fichier crypté> : Constante optionnelle de type Entier
Indique le format du fichier crypté. Ce paramètre doit être identique à celui choisi lors du cryptage.
encodeAucun ou Faux
(Valeur par défaut)
Format binaire. Le fichier crypté peut comporter des caractères non-imprimables.
encodeBASE64Format BASE 64. Le fichier crypté ne comporte que des caractères imprimables.
encodePCS ou VraiFormat ASCII. Le fichier crypté ne comporte que des caractères imprimables.
encodeUUEncodeFormat UUEncode. Le fichier crypté ne comporte que des caractères imprimables.
AndroidWidget AndroidJava Ce paramètre est ignoré.
Remarques

Gestion des erreurs

La fonction fDécrypte génère une erreur dans les cas suivants :
  • le fichier à décrypter n'existe pas ou est bloqué,
  • le chemin du fichier à décrypter est invalide,
  • le <Mot de passe> est une chaîne vide ou n'est pas identique au <Mot de passe> utilisé pour crypter le fichier,
  • le <Type de cryptage effectué> n'est pas identique au <Type de cryptage> choisi lors du cryptage,
  • le <Format du fichier crypté> n'est pas identique à celui choisi lors du cryptage,
  • l'utilisateur n'a pas les droits en lecture sur le fichier à décrypter,
  • l'utilisateur n'a pas les droits en écriture sur le fichier décrypté.
  • une chaîne Unicode a été utilisée pour le paramètre <Chemin du fichier à décrypter> ou pour le paramètre <Chemin du fichier décrypté> sous un système d'exploitation de type Windows 98 ou Windows Me.
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)

Fonctionnement sous Windows Vista (et supérieur)

Si cette fonction ne fonctionne pas correctement sous Windows Vista (et supérieur), il est nécessaire de vérifier si le fichier ou le répertoire manipulé ne se trouve pas dans un des répertoires système (répertoire de Windows ou répertoire "Program Files").
En effet, sous Windows Vista (et supérieur), avec le mécanisme de l'UAC (contrôle des comptes utilisateurs) activé, il est nécessaire d'avoir les privilèges administrateur pour manipuler / modifier des fichiers ou des répertoires présents dans les répertoires système (répertoire de Windows ou répertoire "Program Files").
Conseil de programmation : Si vous devez manipuler / modifier des fichiers ou des répertoires, sans avoir besoin de privilèges administrateur, il est conseillé :
  • de ne pas écrire dans le répertoire de Windows ou dans le répertoire "Program Files",
  • d'utiliser le répertoire système correspondant à l'application (connu par la fonction SysRep par exemple avec la constante srAppDataCommun).
Remarque : Sous Windows Vista (et supérieur), le mécanisme de la virtualisation permet de rendre les applications "compatible Vista". Si le fichier est créé dans un répertoire système sans avoir les droits nécessaires, ce fichier sera réellement créé dans un autre répertoire (C:\Users\<LOGIN>AppData\Local\VirtualStore\Windows\). Dans ce cas, le fichier ne pourra pas être partagé entre plusieurs applications.

Cryptage/décryptage d'une chaîne de caractères

Pour crypter/décrypter une chaîne de caractères, utilisez les fonctions Crypte et Décrypte.
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 un fichier en Java ou Android et de le décrypter avec WINDEV (et inversement).
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 : 22/06/2023

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