PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE


  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Décrypte un fichier préalablement crypté par fCrypte.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 16 et supérieures
PHP Cette fonction est désormais disponible pour les sites PHP.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
Nouveauté 16
PHP Cette fonction est désormais disponible pour les sites PHP.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
PHP Cette fonction est désormais disponible pour les sites PHP.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEVWEBDEV - Code ServeurEtats et RequêtesJavaAjaxCode Utilisateur (MCU)
// Décryptage d'un fichier
ResDécrypte = fDécrypte("C:\MonRep\FichierCrypté.txt", ...
"C:\MonRep\FichierDécrypté.txt", "MotDePasse")
Windows Mobile
// Décryptage d'un fichier
ResDécrypte = fDécrypte("\MonRep\FichierCrypté.txt", ...
"\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 (entre guillemets)
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.
Versions 15 et supérieures
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).
Nouveauté 15
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).
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).
Windows Mobile Ce chemin doit obligatoirement être complet ou de type UNC. Il ne peut pas être relatif.
Versions 17 et supérieures
iPhone/iPad 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.
Nouveauté 17
iPhone/iPad 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.
iPhone/iPad 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 (entre guillemets)
Nom et chemin complet (ou relatif) du fichier décrypté (260 caractères maximum). Un chemin de type UNC peut être utilisé.
Versions 15 et supérieures
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).
Nouveauté 15
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).
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).
Windows Mobile Ce chemin doit obligatoirement être complet ou de type UNC. Il ne peut pas être relatif.
Versions 17 et supérieures
iPhone/iPad 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.
Nouveauté 17
iPhone/iPad 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.
iPhone/iPad 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 (entre guillemets)
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.
Versions 15 et supérieures
AndroidWidget Android Cette constante n'est pas disponible.
Nouveauté 15
AndroidWidget Android Cette constante n'est pas disponible.
AndroidWidget Android Cette constante n'est pas disponible.
Versions 16 et supérieures
PHP L'algorithme utilisé sera de type Blowfish à 16 rondes.
Nouveauté 16
PHP L'algorithme utilisé sera de type Blowfish à 16 rondes.
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).
Versions 16 et supérieures
PHP L'algorithme utilisé sera de type RIJNDAEL 128 bits.
Nouveauté 16
PHP L'algorithme utilisé sera de type RIJNDAEL 128 bits.
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.
encodePCS ou VraiFormat ASCII. Le fichier crypté ne comporte que des caractères imprimables.
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.
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 décryptage> 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 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 présents dans les répertoires systèmes (répertoire de Windows ou répertoire "Program Files").
Conseil de programmation : Si vous devez manipuler / modifier des fichiers, 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 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
Les fonctions Crypte Exemples unitaires (WINDEV Mobile) : Les fonctions Crypte
[ + ] Utilisation des fonctions WLangage de cryptage et de décryptage.
Cet exemple permet de :
- Crypter une chaîne de caractères
- Décrypter une chaîne de caractères
Composante : wd240std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire