首页支持中心文档中心
帮助文档
接入指南
菠萝派自建商城
物流平台
电商平台
淘宝蘑菇街微众金鹰购华为商城魔筷星选微一案新零售中粮我买网顺丰大当家快手小店途虎养车脉宝云店EzBuySEE小电铺辣妈计划友好速搭候鸟联华鲸选京东泰国多点商城顺联动力腾讯广告广点通金牛电商微一案每日优鲜天天工厂阿里巴巴C2M店匠饿百零售执御农行e管家天猫国际直营微盟微商城奥买家快团团招行掌上生活小鹅拼拼云集品淘宝台湾微信小商店美团零售综合零售通华润通得物度小店pass小芒电商联团国美集团B2B企鹅小店阿里健康大药房蘑菇街小店一号店Shopee京东全渠道BiliBili供应商招商银行网上商城有赞美业江南银行抖店代发唯品会MP百度健康放心购闲鱼管家壹钱包微信视频号小店立白积分商城小鹅通萌推蚂蚁销客淘菜菜新蛋商城抖音本地生活抖音小时达贝贝网考拉供应商直发海拍客爱奇艺爱库存蜜店宝鲁班天猫超市有赞分销小黑鱼苏宁易购京东全球售五星电器每日一淘格格家履约丰巢好衣库贝壳优品名融秀购商城采多多米多商城飞牛网孩子王一件代发迷橙商城云集POP微盟智慧零售一条电商魅力惠药房网天猫周期送棒棒糖越洋电铺萌店Joom电商绿米新零售零购有量洋葱京东开普勒京东供销美团外卖顺丰优选美丽说有赞零售腾讯枫叶聚宝赞公主购趣头条人人店代理系统舞象微店自如优品Tokopedia京东印尼微盟SnapDeal阿里巴巴国际站阿里大药房国美IntraMirror孔夫子旧书网豆果美食云尚互联蜜芽东南亚Cdiscount聚塔菠萝派自建商城电商京东考拉速卖通好乐买秀品特奢汇好药师百度Mall聚美海淘优物库人人店折800优购邮乐网下厨房美囤妈妈千米拍鞋网卷皮网辣妈汇敦煌网91拼团宝贝购蜜芽明星衣橱微商户融易购微旺铺Ebay拼多多亲宝宝天虹商场聚美优品ShopEx楚楚街拼团诚信通凡客易订货孩子王达令网小红书善融格格家楚楚街亚马逊当当网平安好医生分期乐好食期HiGo返利网Wish小米商城云集微店麦考林大V店寺库楚楚通TST有赞雅虎LaZaDa苏宁自营订货宝美团梦芭莎穿衣助手唯品会JIT苏宁特卖洋码头垂直采楚楚街预售集盒酒仙唯品会库巴授权米家有品京东自营商派国美自营Wacom亚马逊自营网易严选Eyee京东到家
支付平台
仓储平台
海关平台
外卖平台
其他接口
发票平台
AES签名算法

为防止信息在传输过程中被黑客窃取,需要对于敏感的客户秘钥信息进行AES加密。AES加密大体过程如下:

一. 生成加密密钥。
    1. 调用MakeMD5_16方法生成密钥password。
    2. MakeMD5_16方法所需参数str即为菠萝派appsecret(请进入开放平台查看)。
    3. 生成的password用于下文加密方法。

二. AES加密。
    1. 调用AESEncrypt方法进行加密,text为待加密字符串,password即上文生成的密钥。
    2. AES加密所需向量请向菠萝派值班技术索取。

三. 加密示例。
    bizcontent={"a":"a1","b":"b1"}
    appsecret=5ee2084de90043be989d4d99d0dd0eaa
    根据上文算法得到加密后的文本:
    var v=AESEncrypt(bizcontent, password)=5E309FC10461C44CF62554E0BE5DFF16447A35830F3084F40ABB042D23F381EF

C#签名示例代码

/// <summary>
/// AES加解密所需IV。
/// </summary>
private static byte[] iv = { 请向菠萝派值班人员索取};

/// <summary>
/// AES加密。
/// </summary>
/// <param name="text">待加密字符串</param>
/// <param name="password">密钥</param>
/// <returns></returns>
public string AESEncrypt(string text, string password)
{
    if (string.IsNullOrEmpty(text))
        return string.Empty;

    var rm = new RijndaelManaged();
    rm.Mode = CipherMode.ECB;
    rm.Padding = PaddingMode.PKCS7;
    rm.KeySize = 128;
    rm.BlockSize = 128;
    var pwdBuffer = System.Text.Encoding.UTF8.GetBytes(password);
    var keyBuffer = new byte[16];
    int len = pwdBuffer.Length;
    if (len > keyBuffer.Length) len = keyBuffer.Length;
    System.Array.Copy(pwdBuffer, keyBuffer, len);
    rm.Key = keyBuffer;
    rm.IV = iv;
    var transform = rm.CreateEncryptor();
    var textBuffer = Encoding.UTF8.GetBytes(text);
    var cipherBuffer = transform.TransformFinalBlock(textBuffer, 0, textBuffer.Length);
    return BufferToHexString(cipherBuffer);
}


/// <summary>
/// Byte[]转换为16进制字符串。
/// </summary>
/// <param name="buffer">字节流</param>
/// <returns></returns>
private string BufferToHexString(byte[] buffer)
{
    if (null == buffer)
        return string.Empty;

    var sb = new StringBuilder();
    for (int i = 0; i < buffer.Length; i++)
        sb.Append(buffer[i].ToString("X2"));

    return sb.ToString();
}


/// <summary>
/// 字节流生成MD5码16进制。
/// </summary>
/// <param name="str">加密字符串</param>
/// <returns></returns>
public string MakeMD5_16(string str)
{
    MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
    byte[] byteOriginal = hashmd5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str));
    string md5Str = BitConverter.ToString(byteOriginal, 4, 8);
    md5Str = md5Str.Replace("-", "");
    return md5Str;
}


注意事项:

  • 编码格式为utf-8。


返回顶部
客服机器人