PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Format binaire d'une chaîne cryptée
  • Cryptage/Décryptage d'un fichier externe
  • Cryptage en PHP
  • Cryptage en Android / Java et décryptage par une application WINDEV (ou inversement)
Produits
WinDevWebDev - Code ServeurWebDev - Code NavigateurWinDev MobileEtats et Requêtes
Plateformes
WindowsLinuxWindows MobileUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple Watch
Langages
JavaPHPAjaxCode Utilisateur (MCU)Langage Externe
Bases de données
HFSQLHFSQL Client/ServeurProcédures stockéesOLE DBODBCAccès Natifs
Crypte une chaîne de caractères sous forme binaire ou sous forme ASCII.
Remarques :
  • Cette chaîne de caractères pourra être décryptée avec la fonction Décrypte.
  • Versions 20 et supérieures
    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".
    Nouveauté 20
    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".
    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".
Versions 15 et supérieures
WinDev MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
WinDev MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WinDev MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Versions 16 et supérieures
WebDev - Code ServeurPHP 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
WebDev - Code ServeurPHP Cette fonction est désormais disponible pour les sites PHP.
WinDevLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
WebDev - Code ServeurPHP 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
WinDev MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
WinDev MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WinDev MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
// Cryptage d'une chaîne
Res = Crypte("Le numéro de ma carte bancaire 52327453829011", "MotDePasse")
// Encodage en base 64 d'une chaîne
bufBase64 est un Buffer = Crypte(bufAEncoder, "", compresseAucun + crypteAucun, encodeBASE64)
Syntaxe
<Résultat> = Crypte(<Chaîne à crypter> , <Mot de passe> [, <Type de cryptage> [, <Format de la chaîne cryptée>]])
<Résultat> : Chaîne de caractères
  • Chaîne de caractères cryptée,
  • Chaîne vide ("") en cas d'erreur. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Chaîne à crypter> : Chaîne de caractères (avec guillemets)
Texte à crypter.
<Mot de passe> : Chaîne de caractères (avec guillemets)
Mot de passe utilisé pour crypter la chaîne de caractères. Ce mot de passe sera utilisé pour décrypter la chaîne cryptée (fonction Décrypte). Un mot de passe long permet d'optimiser la sécurité du cryptage.
<Type de cryptage> : Constante ou combinaison de constante optionnelle
Indique le type de cryptage et / ou de compression :
  • Type de cryptage :
    crypteAnsiLe 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 correspondre à la constante encodePCS.
    Remarque : Si la constante crypteAnsi n'est pas combinée à une autre constante précisant le type de cryptage, le paramètre <Mot de passe> est ignoré.
    Cette constante est utilisable uniquement en WINDEV Mobile pour Windows CE.
    WinDevWebDev - Code ServeurAndroidWidget AndroidiPhone/iPadJavaPHP Cette constante n'a aucun effet.
    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.
    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 RINJDAEL 128 bits.
    Nouveauté 16
    PHP L'algorithme utilisé sera de type RINJDAEL 128 bits.
    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 sera 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 sera 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 :
encodePCS
(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.
encodeAucunFormat 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é. La chaîne cryptée sera au format BASE 64.
Remarques
WinDevWebDev - Code ServeurWinDev MobileEtats et RequêtesWindows MobileUniversal Windows 10 AppPHPAjaxCode Utilisateur (MCU)

Format binaire d'une chaîne cryptée

Lorsque <Format de la chaîne cryptée> correspond à la constante encodeAucun, il faut manipuler la chaîne cryptée obtenue avec précaution. En effet, cette chaîne cryptée peut contenir des caractères de fin de chaîne. Dans ce cas, la chaîne sera tronquée par les opérations d'affichage.
Une partie de l'information cryptée sera perdue si :
  1. La chaîne cryptée est affichée dans un champ.
  2. La valeur de ce champ est utilisée pour le décryptage.
Par contre, si la chaîne cryptée est manipulée uniquement sous forme d'une variable chaîne, il n'y aura pas de perte d'information.

Cryptage/Décryptage d'un fichier externe

Pour crypter/décrypter un fichier externe, utilisez les fonctions fCrypte et fDé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 chaîne de caractères en Java ou Android et de la décrypter avec WINDEV (et inversement).
Versions 20 et supérieures
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.
Nouveauté 20
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.
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 Crypte Exemples unitaires (WEBDEV) : Les fonctions Crypte
[ + ] Utilisation des fonctions de cryptage / décryptage de WEBDEV.
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) : 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
WD Limitation de duree d utilisation Exemples didactiques (WINDEV) : WD Limitation de duree d utilisation
[ + ] Cet exemple montre comment limiter l'utilisation d'une application à une période donnée (période d'essai).
Dans cet exemple, nous abordons les principaux thèmes suivants :
1/ la protection d'une application pour une durée donnée
2/ la gestion de la base de registre

Résumé de l'exemple livré avec WINDEV :
Lorsque cet exemple est lancé pour la première fois, il est activé pour une période d'essai de 5 jours.
L'information de la date de premier lancement est stockée dans la base de registre avec l'utilisation d'une clé de contrôle pour vérifier que l'utilisateur final n'a pas essayé de la modifier. A la fin de la période d'essai, l'application est bloquée, à moins que l'utilisateur final ne dispose du code de déverrouillage de l'application
Composantes
WinDevWebDev - Code ServeurEtats et Requêtes wd210std.dll
Windows Mobile wp210std.dll
Java wd210java.jar
Linux wd210std.so
Android wd210android.jar
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Communication entre PC et mobile
Lors d'un cryptage transmis par socket d'un PC à Windows Mobile, il est nécessaire de crypter et de décrypter avec la constante "CrypteAnsi" aussi bien sur le mobile que sur le PC
Patinfo
05 oct. 2011