签名生成

来自Chinese Ikoula Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

zh:签名生成 he:הדור חתימה ro:Generația semnături pl:Generowanie podpisu de:Die Signatur-generation nl:De handtekening generatie it:La generazione della firma pt:A geração de assinatura es:La generación de una firma en:The signature generation ru:Создание подписи ja:署名の生成 ar:توليد التوقيع fr:Génération de la signature

这篇文章是从由软件进行自动翻译。你可以看到这篇文章的源代码






介绍

对 API 的调用,期间中的身份验证,WIKI 所述的签名是必需的。它生成 基于所有参数在调用期间提供 .
由于技术原因,身份验证设置必须 目前 总是会通过 HTTP GET 方法传播

示例

// Définition des paramètres
$data["login"] = "mail@example.com";
$data["密码 "] = "DH 4=674j_G "; // Mot de passe non chiffré
// D"autres paramètres peuvent êtres ajoutés en fonction de l"appel à l"API
// $data["autre_parametre"] = "valeur";
// $data["autre_parametre_2"] = "valeur_2";
// $data["..."] = "...";
 
// Triage des paramètres dans l'ordre croissant
ksort($data);
 
// Encodage des paramètres
$query = http_build_query($data);
 
// Encodage des signes plus
$query = str_replace("+", "%20", $query);
 
// Transformation de la chaîne de caractères en minuscule
$query = strtolower($query);
 
// Clé publique d'Ikoula (cf. lien ci-dessus)
$public_key="MIIBIjAN...";
 
// Hashage des paramètres
$hash = hash_hmac("SHA1", $query, $public_key, true);
 
// Encodage en base64, puis encodage en URL selon RFC 3986
$signature = rawurlencode(base64_encode($hash));
 
// ==> $signature contient alors la signature finale

结论

一旦生成了签名,就必须将其作为一个参数传递 (除了所有其他参数 ) API 调用。
在前面的例子,要传递的参数将因此一直 :

  • login = "mail@example.com"
  • password = "dh4=674j_G"
  • signature = $signature



这篇文章似乎你要有用 ?

0



您未被允许发表评论。