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 ;
}