“签名生成”的版本间的差异
Jump to navigation
Jump to search
第1行: | 第1行: | ||
+ | <span data-link_translate_ru_title="Создание подписи" data-link_translate_ru_url="%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B8"></span>[[:ru:Создание подписи]][[ru:Создание подписи]] | ||
<span data-link_translate_ja_title="署名の生成" data-link_translate_ja_url="%E7%BD%B2%E5%90%8D%E3%81%AE%E7%94%9F%E6%88%90"></span>[[:ja:署名の生成]][[ja:署名の生成]] | <span data-link_translate_ja_title="署名の生成" data-link_translate_ja_url="%E7%BD%B2%E5%90%8D%E3%81%AE%E7%94%9F%E6%88%90"></span>[[:ja:署名の生成]][[ja:署名の生成]] | ||
<span data-link_translate_ar_title="توليد التوقيع" data-link_translate_ar_url="%D8%AA%D9%88%D9%84%D9%8A%D8%AF+%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%B9"></span>[[:ar:توليد التوقيع]][[ar:توليد التوقيع]] | <span data-link_translate_ar_title="توليد التوقيع" data-link_translate_ar_url="%D8%AA%D9%88%D9%84%D9%8A%D8%AF+%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%B9"></span>[[:ar:توليد التوقيع]][[ar:توليد التوقيع]] |
2015年10月30日 (五) 12:30的版本
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
开启评论自动刷新