PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Disponibilité des algorithmes
  • Fonction HashVérifieChaîne et UNICODE
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
Vérifie le Hash d'une chaîne de caractères pour un type d'algorithme défini. Il est possible de vérifier :
  • un hash simple.
  • un hash avec authentification de message.
Rappel : Le hachage permet de réaliser un résumé condensé d'un fichier ou d'une chaîne de caractères. Ce résumé est appelé Hash.
Versions 15 et supérieures
PHP Cette fonction est désormais disponible pour les sites PHP.
Java Cette fonction est désormais disponible pour les applications Java.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
PHP Cette fonction est désormais disponible pour les sites PHP.
Java Cette fonction est désormais disponible pour les applications Java.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
PHP Cette fonction est désormais disponible pour les sites PHP.
Java Cette fonction est désormais disponible pour les applications Java.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
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
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.
Nouveauté 18
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.
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
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.
Exemple
// Vérification du mot de passe :
// - Mot de passe saisi dans le champ "SAI_SaisieMotDePasse"
// - Hash du mot de passe dans la rubrique "Utilisateur.HashMotDePasse"
SI HashVérifieChaîne(HA_MD5_128, SAI_SaisieMotDePasse, ...
Utilisateur.HashMotDePasse) = Vrai ALORS
Info("Mot de passe correct.")
// Suite du traitement
// ...
SINON
Erreur("Mot de passe erroné.")
// Reprise de la saisie
RepriseSaisie(SAI_SaisieMotDePasse)
FIN
Syntaxe

Vérifier un hash simple Masquer les détails

<Résultat> = HashVérifieChaîne(<Type d'algorithme> , <Chaîne> , <Hash>)
<Résultat> : Booléen
  • Vrai si le résultat du hachage de la chaîne <Chaîne> par l'algorithme <Type d'algorithme> correspond au paramètre <Hash>,
  • Faux dans le cas contraire.
<Type d'algorithme> : Constante de type Entier
Indique le type d'algorithme utilisé lors du hachage de la chaîne <Chaîne> :
Versions 22 et supérieures
Famille DJB2 (Bernstein)
Nouveauté 22
Famille DJB2 (Bernstein)
Famille DJB2 (Bernstein)
Versions 22 et supérieures
HA_DJB2_32
AndroidWidget AndroidJavaPHP Non disponible.
Nouveauté 22
HA_DJB2_32
AndroidWidget AndroidJavaPHP Non disponible.
HA_DJB2_32
AndroidWidget AndroidJavaPHP Non disponible.
Versions 22 et supérieures
HA_DJB2_64
AndroidWidget AndroidJavaPHP Non disponible.
Nouveauté 22
HA_DJB2_64
AndroidWidget AndroidJavaPHP Non disponible.
HA_DJB2_64
AndroidWidget AndroidJavaPHP Non disponible.
Famille MD5HA_MD5_128
Famille SHAHA_SHA_160 (aussi appelé SHA-1)
HA_SHA_256
HA_SHA_384
HA_SHA_512
Famille RIPEMDHA_RIPEMD_128
AndroidWidget AndroidJava Non disponible.
HA_RIPEMD_160
AndroidWidget AndroidJava Non disponible.
Famille TIGERHA_TIGER_128
AndroidWidget AndroidJavaPHP Non disponible.
HA_TIGER_160
AndroidWidget AndroidJavaPHP Non disponible.
HA_TIGER_192
AndroidWidget AndroidJavaPHP Non disponible.
Famille WHIRLPOOLHA_WHIRLPOOL
AndroidWidget AndroidJava Non disponible.
Famille CKSUMHA_CKSUM_8
AndroidWidget AndroidJava Non disponible.
HA_CKSUM_16
AndroidWidget AndroidJava Non disponible.
HA_CKSUM_32
AndroidWidget AndroidJava Non disponible.
HA_CKSUM_64
AndroidWidget AndroidJava Non disponible.
  • Algorithmes MD5 / SHA / RIPEMD : fonctions de hachage cryptographiques classiques.
  • Algorithmes TIGER / WHIRLPOOL : fonctions de hachage ayant de très bonnes propriétés cryptographiques optimisées pour le 64 bits (mais leur utilisation est possible en 32 bits).
    PHP Les algorithmes TIGER ne sont pas disponibles.
  • Algorithmes CKSUM : fonctions de hachage ne possédant pas de propriété cryptographique, à n'utiliser que pour des contrôles minimaux ou des tables de hachage.
  • Versions 22 et supérieures
    Algorithme DJB2 (Bernstein) : fonctions de hachage réservées aux chaînes et ne possédant pas de propriété cryptographique, à n'utiliser que pour des contrôles minimaux ou des tables de hachage. Peu de risques d'obtenir un hash identique.
    Nouveauté 22
    Algorithme DJB2 (Bernstein) : fonctions de hachage réservées aux chaînes et ne possédant pas de propriété cryptographique, à n'utiliser que pour des contrôles minimaux ou des tables de hachage. Peu de risques d'obtenir un hash identique.
    Algorithme DJB2 (Bernstein) : fonctions de hachage réservées aux chaînes et ne possédant pas de propriété cryptographique, à n'utiliser que pour des contrôles minimaux ou des tables de hachage. Peu de risques d'obtenir un hash identique.
<Chaîne> : Chaîne de caractères (entre guillemets)
Chaîne pour laquelle le Hash doit être vérifié.
<Hash> : Chaîne de caractères (entre guillemets)
Hash de la chaîne à contrôler. Ce Hash doit être le résultat de la fonction HashChaîne précédemment appelée pour la chaîne <Chaîne> sur l'algorithme <Type d'algorithme>.

Vérifier un hash avec authentification de message (algorithme HMAC) Masquer les détails

<Résultat> = HashVérifieChaîne(<Type d'algorithme> , <Chaîne> , <Hash> , <Clé secrète>)
<Résultat> : Booléen
  • Vrai si le résultat du hachage de la chaîne <Chaîne> par l'algorithme <Type d'algorithme> correspond au paramètre <Hash>,
  • Faux dans le cas contraire.
<Type d'algorithme> : Constante de type Entier
Indique le type d'algorithme HMAC utilisé lors du hachage de la chaîne <Chaîne> :
Famille MD5HA_HMAC_MD5_128
Famille SHAHA_HMAC_SHA_160
HA_HMAC_SHA_256
HA_HMAC_SHA_384
HA_HMAC_SHA_512
Famille RIPEMDHA_HMAC_RIPEMD_128
AndroidWidget AndroidJava Non disponible.
HA_HMAC_RIPEMD_160
AndroidWidget AndroidJava Non disponible.
Famille TIGERHA_HMAC_TIGER_128
AndroidWidget AndroidJavaPHP Non disponible.
HA_HMAC_TIGER_160
AndroidWidget AndroidJavaPHP Non disponible.
HA_HMAC_TIGER_192
AndroidWidget AndroidJavaPHP Non disponible.
Famille WHIRLPOOLHA_HMAC_WHIRLPOOL
AndroidWidget AndroidJava Non disponible.
  • Algorithmes MD5 / SHA / RIPEMD : fonctions de hachage cryptographiques classiques.
  • Algorithmes TIGER / WHIRLPOOL : fonctions de hachage ayant de très bonnes propriétés cryptographiques optimisées pour le 64 bits (mais leur utilisation est possible en 32 bits).
    PHP Les algorithmes TIGER ne sont pas disponibles.
<Chaîne> : Chaîne de caractères (entre guillemets)
Chaîne pour laquelle le Hash doit être vérifié.
<Hash> : Chaîne de caractères (entre guillemets)
Hash de la chaîne à contrôler. Ce Hash doit être le résultat de la fonction HashChaîne précédemment appelée pour la chaîne <Chaîne> sur l'algorithme <Type d'algorithme>.
<Clé secrète> : Chaîne de caractères (entre guillemets)
Clé d'authentification du message. Cette clé doit être identique à celle utilisée pour calculer le Hash.
AndroidWidget AndroidJava Ce paramètre ne doit pas être une chaîne vide.
Remarques

Disponibilité des algorithmes

PHP
  • Les algorithmes disponibles dépendent de la configuration du serveur PHP.
  • Les algorithmes TIGER ne sont pas disponibles.
AndroidWidget AndroidJava Seuls les algorithmes suivants sont supportés :
  • HA_MD5_128
  • HA_SHA_160, HA_SHA_256, HA_SHA_384, HA_SHA_512
  • HA_HMAC_MD5_128
  • HA_HMAC_SHA_160, HA_HMAC_SHA_256, HA_HMAC_SHA_384, HA_SHA_HMAC_512.

Fonction HashVérifieChaîne et UNICODE

Développement multi-plateforme : Pour utiliser des Hash de chaînes entre plusieurs plateformes (par exemple un hash généré en iOS et vérifié en Android ou sur Windows), il ne faut pas utiliser des chaînes Unicode. En effet, les chaînes Unicode n'ont pas le même format selon les plate-formes. Dans ce cas, il est conseillé d'utiliser des chaînes au format ANSI ou UTF 8 (et de convertir les chaînes Unicode si nécessaire).
Composantes
WINDEVWEBDEV - Code ServeurEtats et Requêtes wd220com.dll
Windows Mobile wp220com.dll
Java wd220java.jar
Linux wd220com.so
Android wd220android.jar
Version minimum requise
  • Version 11
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire