“签名生成”的版本间的差异

来自Chinese Ikoula Wiki
Jump to navigation Jump to search
第1行: 第1行:
 +
<span data-link_translate_he_title="הדור חתימה"  data-link_translate_he_url="%D7%94%D7%93%D7%95%D7%A8+%D7%97%D7%AA%D7%99%D7%9E%D7%94"></span>[[:he:הדור חתימה]][[he:הדור חתימה]]
 
<span data-link_translate_ro_title="Generația semnături"  data-link_translate_ro_url="Genera%C8%9Bia+semn%C4%83turi"></span>[[:ro:Generația semnături]][[ro:Generația semnături]]
 
<span data-link_translate_ro_title="Generația semnături"  data-link_translate_ro_url="Genera%C8%9Bia+semn%C4%83turi"></span>[[:ro:Generația semnături]][[ro:Generația semnături]]
 
<span data-link_translate_pl_title="Generowanie podpisu"  data-link_translate_pl_url="Generowanie+podpisu"></span>[[:pl:Generowanie podpisu]][[pl:Generowanie podpisu]]
 
<span data-link_translate_pl_title="Generowanie podpisu"  data-link_translate_pl_url="Generowanie+podpisu"></span>[[:pl:Generowanie podpisu]][[pl:Generowanie podpisu]]

2015年12月7日 (一) 19:31的版本

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



您未被允许发表评论。