深夜福利视频导航/69视频网址/av免费播放网址/一级淫片观看 - 森泽佳奈无删减在线观看

首頁支持中心文檔中心
幫助文檔
接入指南
菠蘿派自建商城
物流平臺
電商平臺
淘寶蘑菇街微眾金鷹購華為商城魔筷星選微一案新零售中糧我買網(wǎng)順豐大當(dāng)家快手小店途虎養(yǎng)車脈寶云店EzBuySEE小電鋪辣媽計劃友好速搭候鳥聯(lián)華鯨選京東泰國多點商城順聯(lián)動力騰訊廣告廣點通金牛電商微一案每日優(yōu)鮮天天工廠阿里巴巴C2M店匠餓百零售執(zhí)御農(nóng)行e管家天貓國際直營微盟微商城奧買家快團(tuán)團(tuán)招行掌上生活小鵝拼拼云集品淘寶臺灣微信小商店美團(tuán)零售綜合零售通華潤通得物度小店pass小芒電商聯(lián)團(tuán)國美集團(tuán)B2B企鵝小店阿里健康大藥房蘑菇街小店一號店Shopee京東全渠道BiliBili供應(yīng)商招商銀行網(wǎng)上商城有贊美業(yè)江南銀行抖店代發(fā)唯品會MP百度健康放心購閑魚管家抖店供銷壹錢包微信視頻號小店立白積分商城小鵝通萌推螞蟻銷客淘菜菜新蛋商城抖音本地生活抖音小時達(dá)貝貝網(wǎng)考拉供應(yīng)商直發(fā)海拍客好又多愛奇藝愛庫存蜜店寶魯班天貓超市有贊分銷小黑魚蘇寧易購京東全球售五星電器每日一淘格格家履約豐巢好衣庫貝殼優(yōu)品名融秀購商城采多多米多商城飛牛網(wǎng)孩子王一件代發(fā)迷橙商城云集POP微盟智慧零售一條電商魅力惠藥房網(wǎng)天貓周期送棒棒糖越洋電鋪萌店Joom電商綠米新零售零購有量洋蔥京東開普勒京東供銷美團(tuán)外賣順豐優(yōu)選美麗說有贊零售騰訊楓葉聚寶贊公主購趣頭條人人店代理系統(tǒng)舞象微店自如優(yōu)品Tokopedia京東印尼微盟SnapDeal阿里巴巴國際站阿里大藥房國美IntraMirror孔夫子舊書網(wǎng)豆果美食云尚互聯(lián)蜜芽東南亞Cdiscount聚塔菠蘿派自建商城電商京東考拉速賣通好樂買秀品特奢匯好藥師百度Mall聚美海淘優(yōu)物庫人人店折800優(yōu)購郵樂網(wǎng)下廚房美囤媽媽千米拍鞋網(wǎng)卷皮網(wǎng)辣媽匯敦煌網(wǎng)91拼團(tuán)寶貝購蜜芽明星衣櫥微商戶融易購微旺鋪Ebay拼多多親寶寶天虹商場聚美優(yōu)品ShopEx楚楚街拼團(tuán)誠信通凡客易訂貨孩子王達(dá)令網(wǎng)小紅書善融格格家楚楚街亞馬遜當(dāng)當(dāng)網(wǎng)平安好醫(yī)生分期樂好食期HiGo返利網(wǎng)Wish小米商城云集微店麥考林大V店寺庫楚楚通TST有贊雅虎LaZaDa蘇寧自營訂貨寶美團(tuán)夢芭莎穿衣助手唯品會JIT蘇寧特賣洋碼頭垂直采楚楚街預(yù)售集盒酒仙唯品會庫巴授權(quán)米家有品京東自營商派國美自營Wacom亞馬遜自營網(wǎng)易嚴(yán)選Eyee京東到家
支付平臺
倉儲平臺
海關(guān)平臺
外賣平臺
其他接口
發(fā)票平臺
菠蘿派商城簽名算法

菠蘿派商城簽名規(guī)則是采用菠蘿派商城開發(fā)規(guī)范的平臺統(tǒng)一使用的簽名規(guī)則。目的為了防止API調(diào)用過程中被黑客惡意篡改,調(diào)用任何一個API都需要攜帶簽名,服務(wù)端會根據(jù)請求參數(shù),對簽名進(jìn)行驗證,簽名不合法的請求將會被拒絕。目前支持的簽名算法只支持MD5,簽名大體過程如下:


將除Sign參數(shù)外的所有“參數(shù) 參數(shù)值”進(jìn)行字典排序生成串,而后將AppSecret加到該串的首尾,將得到的字符串轉(zhuǎn)小寫,進(jìn)行MD5加密,此時的生成的串即為Sign。以抓單為例,若參數(shù)分別為以下值:
appkey=438b2f6ff103422a98a9349507293bb2

bizcontent={"OrderStatus":"JH_01","PlatOrderNo":"20182270207","StartTime":"2016-07-26 10:59:10","EndTime":"2016-08-02 10:59:10","TimeType":"JH_02","PageIndex":"1","PageSize":"20"}

method=Differ.JH.Business.GetOrder

token=9415c33b04d24c7dae320b0185f42fb0

按字典排序生成的串為:appkey438b2f6ff103422a98a9349507293bb2bizcontent{"OrderStatus":"JH_01","PlatOrderNo":"20182270207","StartTime":"2016-07-26 10:59:10","EndTime":"2016-08-02 10:59:10","TimeType":"JH_02","PageIndex":"1","PageSize":"20"}methodDiffer.JH.Business.GetOrdertoken9415c33b04d24c7dae320b0185f42fb0。

若Appsecret=5ee2084de90043be989d4d99d0dd0eaa,則帶簽名字符串為:

5ee2084de90043be989d4d99d0dd0eaaappkey438b2f6ff103422a98a9349507293bb2bizcontent{"OrderStatus":"JH_01","PlatOrderNo":"20182270207","StartTime":"2016-07-26 10:59:10","EndTime":"2016-08-02 10:59:10","TimeType":"JH_02","PageIndex":"1","PageSize":"20"}methodDiffer.JH.Business.GetOrdertoken9415c33b04d24c7dae320b0185f42fb05ee2084de90043be989d4d99d0dd0eaa

轉(zhuǎn)小寫:

5ee2084de90043be989d4d99d0dd0eaaappkey438b2f6ff103422a98a9349507293bb2bizcontent{"orderstatus":"jh_01","platorderno":"20182270207","starttime":"2016-07-26 10:59:10","endtime":"2016-08-02 10:59:10","timetype":"jh_02","pageindex":"1","pagesize":"20"}methoddiffer.jh.business.getordertoken9415c33b04d24c7dae320b0185f42fb05ee2084de90043be989d4d99d0dd0eaa

MD5加密后得到簽名:

347e07a557e2720256e64e1e828eff1b (注意,簽名也是小寫的)


C#簽名示例代碼

//獲得http請求傳參
var context = System.Web.HttpContext.Current;
var appkey = context.Request["appkey"];
var token = context.Request["token"];
var method = context.Request["method"];
var bizcontent= context.Request["bizcontent"];
var sign=context.Request["sign"];
var appSecret = "5ee2084de90043be989d4d99d0dd0eaa";    //appSecret的值通過在菠蘿派中申請應(yīng)用獲得
//將參數(shù)加入排序字典。
var dic = new SortedDictionary<string, string>();
dic.Add("method", method);
dic.Add("appkey", appkey);
dic.Add("token", token);
dic.Add("bizcontent", bizcontent);
var newSign=Sign(dic,appSecret);
if(sign!=newSign)
{
    Response.Write("{\"code\":\"40000\",\"message\":\"Logical Error\",\"subcode\":\"GSE.VERIFYSIGN_FAILURE\",\"submessage\":\"簽名驗證失敗\"}");
}

/// <summary>
/// 生成簽名。
/// </summary>
/// <returns></returns>
private string Sign(SortedDictionary<string, string> dic,string appSecret)
{
    //構(gòu)建待簽名的字符串。
    var beSignText = string.Empty;
    foreach (string _key in dic.Keys)
        beSignText += _key + dic[_key];

    //轉(zhuǎn)小寫生成簽名。
    return this.MD5((appSecret + beSignText + appSecret).ToLower());
}

/// <summary>
/// 字符串生成MD5碼。
/// </summary>
/// <param name="data">待MD5字符</param>
/// <returns></returns>
public string MD5(string data)
{
    var bytes = Encoding.UTF8.GetBytes(data);
    var hashmd5 = new MD5CryptoServiceProvider();
    byte[] byteOriginal = hashmd5.ComputeHash(bytes);
    StringBuilder ciphertext = new StringBuilder(32);
    for (int i = 0; i < byteOriginal.Length; i++)
    {
        ciphertext.Append(byteOriginal[i].ToString("x").PadLeft(2, '0'));
    }

    return ciphertext.ToString();
}


PHP簽名示例代碼

//獲得http請求傳參
$method = $_REQUEST['method'];
$appkey = $_REQUEST['appkey'];
$token = $_REQUEST['token'];
$bizcontent = $_REQUEST['bizcontent'];
$sign = $_REQUEST['sign'];
$appSecret="5ee2084de90043be989d4d99d0dd0eaa";    //appSecret的值通過在菠蘿派中申請應(yīng)用獲得
$unsign=$appSecret."appkey".$appkey."bizcontent".$bizcontent."method".$method."token".$token.$appSecret;
$newsign=md5(strtolower($unsign));
if($sign!=$newsign)
{
    echo("{\"code\":\"40000\",\"message\":\"Logical Error\",\"subcode\":\"GSE.VERIFYSIGN_FAILURE\",\"submessage\":\"簽名驗證失敗\"}");
}


C++簽名示例代碼

String MD5UTF8String(String ASrc)
{
    String strRet = "";
    TIdHashMessageDigest5 *MD5Encode = new TIdHashMessageDigest5();
    try
    {
    strRet = MD5Encode->HashStringAsHex(ASrc, Sysutils::TEncoding::UTF8 ).LowerCase();
    }
    __finally
    {
    delete MD5Encode;
    }
    return strRet;
}

//---------------------------------------------------------------------------
void __fastcall TForm1::IdHTTPServerCommandGet(TIdContext *AContext, TIdHTTPRequestInfo *ARequestInfo,
TIdHTTPResponseInfo *AResponseInfo)
{
    String Method = ARequestInfo->Params->Values["method"];
    String Appkey = ARequestInfo->Params->Values["appkey"];
    String Token = ARequestInfo->Params->Values["token"];
    String Bizcontent = ARequestInfo->Params->Values["bizcontent"]; 
    String Sign = ARequestInfo->Params->Values["sign"];
    String AppSecret="5ee2084de90043be989d4d99d0dd0eaa"; //appSecret的值通過在菠蘿派中申請應(yīng)用獲得
    String Unsign = AppSecret + "appkey" + Appkey
+ "bizcontent" + Bizcontent + "method" + Method + "token" + Token  + AppSecret ;	
    String Newsign = MD5UTF8String(Unsign.LowerCase()).LowerCase(); 

    if (Sign != Newsign) 
    {
        AResponseInfo->ContentText = "{\"code\":\"40000\",\"message\":\"Logical Error\",\"subcode\":\"GSE.VERIFYSIGN_FAILURE\",\"submessage\":\"簽名驗證失敗\"}";
    }         
}


注意事項:

  • 所有的請求和響應(yīng)數(shù)據(jù)編碼皆為utf-8格式,URL里的所有參數(shù)名和參數(shù)值請做URL編碼。

  • 所有API請盡量使用POST發(fā)起請求。



返回頂部
客服機(jī)器人