Exemplo de implementação em PHP

Exemplo de cálculo de assinatura usando o algoritmo HMAC-SHA-256:

function getSignature($params, $key)
{
    /**
     * Função que calcula a assinatura.
     * $params : quadro apresentando os campos que devem ser enviados no formulário.
     * $key : chave de TESTE ou de PRODUÇÃO
     */
    //Inicialização da variável que conterá o string a ser cifrado
    
 $conteudo_assinatura = "";
    //Triagem dos campos por ordem alfabética
    ksort($params);
    foreach($params as $nom=>$valeur){

        //Recuperação dos campos vads_
        if (substr($nom,0,5)=='vads_'){

            //Concatenação com o separador "+"
            $conteudo_assinatura .= $valor."+";
         }
    }
    //Adição da chave no final do string
    $conteudo assinatura .= $key;

    //Codificação base64 do string cifrado com o algorítmo HMAC-SHA-256
    $signature = base64_encode(hash_hmac('sha256',$conteudo_assinatura, $key, true));
    return $signature;
 }	            

Exemplo de cálculo de assinatura usando o algoritmo SHA-1:

function getSignature($params, $key)
{
    /**
     * Função que calcula a assinatura.
     * $params : quadro apresentando os campos que devem ser enviados no formulário.
     * $key : chave de TESTE ou de PRODUÇÃO
     */
    //Inicialização da variável que conterá o string a ser cifrado
    $conteudo_assinatura  = "" ;
	                
    // Triagem dos campos por ordem alfabética
    ksort($params);
    foreach ($params as $nom =>$valor){ 
    
         // Recupperação dos campos vads_ 
        if (substr($nom,0,5)=='vads_') { 
            
            // Concatenação com o separador "+" 
            $conteudo_assinatura .= $valor."+";
        }
    }
    // Adição da chave no final
    $conteudo_assinatura.= $key;
	                
    // Aplicação do algorítmo SHA-1
    $signature = sha1($conteudo_asssinatura);
    return $signature ;
}