PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Gestion des erreurs
  • Fonctionnement sous Windows Vista (et supérieur)
  • Cryptage/Décryptage d'une chaîne de caractères
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Crypte un fichier sous forme binaire ou ASCII.
Remarque : Ce fichier peut être décrypté avec fDécrypte.
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)
// Cryptage d'un fichier
ResCrypte = fCrypte("C:\MesRépertoires\Fichier.txt", ...
"C:\MesRépertoires\FichierCrypté.txt", "MotDePasse")
Windows Mobile
// Cryptage d'un fichier
ResCrypte = fCrypte("\MesRépertoires\Fichier.txt", ...
"\MesRépertoires\FichierCrypté.txt", "MotDePasse")
Syntaxe
<Résultat> = fCrypte(<Chemin du fichier à crypter> , <Chemin du fichier crypté> , <Mot de passe> [, <Type de cryptage> [, <Format du fichier crypté>]])
<Résultat> : Booléen
  • Vrai si le 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 à crypter> : Chaîne de caractères (avec guillemets)
Nom et chemin complet (ou relatif) du fichier à crypter (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 Nom et chemin complet du fichier à crypter (260 caractères maximum).
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 crypté> : Chaîne de caractères (avec guillemets)
Nom et chemin complet (ou relatif) du fichier 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 (avec guillemets)
Mot de passe utilisé pour crypter le fichier. Ce mot de passe sera utilisé pour décrypter le fichier crypté (fonction fDécrypte). Un mot de passe long permet une meilleure sécurité de cryptage.
<Type de cryptage> : Constante optionnelle
Indique le type de cryptage :
crypteAucunAucun cryptage n'est effectué.
crypteRapide
(Valeur par défaut)
La priorité est 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é est 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é :
encodePCS ou Vrai
(Valeur par défaut)
Format ASCII.
Le fichier crypté ne comportera que des caractères imprimables. La taille du fichier sera supérieure (environ 30%) à la taille du fichier d'origine.
Ce format peut par exemple être utilisé pour insérer un fichier crypté dans le corps d'un courrier électronique.
encodeAucun ou FauxFormat binaire.
Le fichier crypté pourra comporter des caractères non-imprimables. La taille du fichier sera supérieure (environ 4 octets) à la taille du fichier d'origine.
encodeBASE64Format BASE 64.
Le fichier est crypté avec l'algorithme BASE64. La taille du fichier sera supérieure (environ 30%) à la taille du fichier d'origine.
Ce format peut par exemple être utilisé pour insérer un fichier crypté dans le corps d'un courrier électronique.
encodeUUEncodeFormat UUEncode.
Le fichier est crypté avec l'algorithme UUEncode. La taille du fichier sera supérieure (environ 30%) à la taille du fichier d'origine.
Ce format peut par exemple être utilisé pour insérer un fichier crypté dans le corps d'un courrier électronique.
AndroidWidget AndroidJava Ce paramètre est ignoré.
Remarques

Gestion des erreurs

La fonction fCrypte génère une erreur dans les cas suivants :
  • le fichier à crypter n'existe pas,
  • le fichier à crypter est bloqué,
  • le chemin du fichier à crypter est invalide,
  • le <Mot de passe> est une chaîne vide,
  • l'utilisateur n'a pas les droits en lecture sur le fichier à crypter,
  • l'utilisateur n'a pas les droits en écriture sur le fichier crypté.
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èmes (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 compatibles 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 une 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 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.
Cet exemple permet de :
- Crypter une chaîne de caractères
- Décrypter une chaîne de caractères
Composante : wd250std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire