Exemple d'implémentation en PHP
Exemple de calcul de signature utilisant l'algorithme HMAC-SHA-256:
function getSignature ($params,$key) { /** * Fonction qui calcule la signature. * $params : tableau contenant les champs à envoyer dans le formulaire. * $key : clé de TEST ou de PRODUCTION */ //Initialisation de la variable qui contiendra la chaine à chiffrer $contenu_signature = ""; //Tri des champs par ordre alphabétique ksort($params); foreach($params as $nom=>$valeur){ //Récupération des champs vads_ if (substr($nom,0,5)=='vads_'){ //Concaténation avec le séparateur "+" $contenu_signature .= $valeur."+"; } } //Ajout de la clé en fin de chaine $contenu_signature .= $key; //Encodage base64 de la chaine chiffrée avec l'algorithme HMAC-SHA-256 $signature = base64_encode(hash_hmac('sha256',$contenu_signature, $key, true)); return $signature; }
Exemple de calcul de signature utilisant l'algorithme SHA-1:
function getSignature($params, $key) { /** * Fonction qui calcule la signature. * $params : tableau contenant les champs à envoyer dans le formulaire. * $key : clé de TEST ou de PRODUCTION */ //Initialisation de la variable qui contiendra la chaine à chiffrer $contenu_signature = "" ; // Tri des champs par ordre alphabétique ksort($params); foreach ($params as $nom =>$valeur){ // Récupération des champs vads_ if (substr($nom,0,5)=='vads_') { // Concaténation avec le séparateur "+" $contenu_signature .= $valeur."+"; } } // Ajout de la clé à la fin $contenu_signature .= $key; // Application de l’algorythme SHA-1 $signature = sha1($contenu_signature); return $signature ; }