1:先上一个简单的安全签名示例:该例子是一个简单的联合登入 功能的api安全校验。

下面是签名方法:

注意:getsign里面的参数 是调用方 传来的数据,

method,api_version是 一些常量,商量好传来的参数,需要校验参数是否正确。

uname ,password  是用户名跟密码。需要在登入页面里面做实际操作,

token:是跟调用方商量好的常量。不放在参数里面。只需要双方在加密的时候在 加密字符串里面加上该参数即可

一般加密使用MD5 不可逆转加密。一般不建议 使用对称加密,对称加密都可以反加密出字符串,这样就有可能被破解接口调用方法。

/// <summary>
        /// 获取签名
        /// </summary>
        /// <param name="method"></param>
        /// <param name="api_version"></param>
        /// <param name="uname"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static string getSign(string method, string api_version, string uname, string password)
        {
            string resultStr = string.Empty;
            Dictionary<string, string> parameterList = SetParameterList(method, api_version, uname, password);
            StringBuilder strBuild = new StringBuilder();
            foreach (var str in parameterList)
            {
                strBuild.Append(utf8_string(str.Key));
                strBuild.Append(utf8_string(str.Value));
            }

//进行第一次MD5加密 Begin
            //获取token值
            string token = ConfigHelper.GetConfigString("mall.Token");
            strBuild.Append(utf8_string(token));
            string parameters = strBuild.ToString();
            string resultStr0 = Md5Encry(parameters);
            //End

//进行第二次MD5加密 Begin
            resultStr = Md5Encry(resultStr0);
            //End

return resultStr;
        }

/// <summary>
        /// MD5 32位加密
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        internal static string Md5Encry(string str)
        {
            string cl = str;
            string resultStr = "";
            MD5 md5 = MD5.Create();//实例化一个md5对像
            // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
            byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
            // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
            for (int i = 0; i < s.Length; i++)
            {
                // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
                resultStr = resultStr + s[i].ToString("X2");
            }
            return resultStr;
        }

API-接口安全签名(一)相关推荐

  1. 百度云 php api接口调用 签名计算

    本文介绍百度智能云 计算签名 公共头 调用api接口调用: post请求示例 require "auth.php"; //此文件是百度云官网提供实例,下方可直接粘贴使用. // 第 ...

  2. php api接口验证签名错误,API常用签名验证方法(PHP实现)

    使用场景 现在越来越多的项目使用的前后端分离的模式进行开发,后端开发人员使用API接口传递数据给到前端开发进行处理展示,在一些比较重要的修改数据接口,涉及金钱,用户信息等修改的接口如果不做防护验证,经 ...

  3. 调用快递鸟API接口DataSign 签名加密技术文档

    2.1 关于签名 快递鸟和第三方电子商务公司系统进行对接,有一定的安全机制.采用 IP 认证加签名 的方式对接,具体方案如下: 1. 防止数据被篡改 在 POST 请求中会传递 5 个必须 (R) 参 ...

  4. 防止恶意调用API接口

    1 / 验证码(最简单有效的防护),采用点触验证,滑动验证或第三方验证码服务,普通验证码很容易被破解 2 / 频率,限制同设备,同IP等发送次数,单点时间范围可请求时长 3 / 归属地,检测IP所在地 ...

  5. 如何防止别人恶意攻击调用API接口

    1 / 验证码(最简单有效的防护),采用点触验证,滑动验证或第三方验证码服务,普通验证码很容易被破解 2 / 频率,限制同设备,同IP等发送次数,单点时间范围可请求时长 3 / 归属地,检测IP所在地 ...

  6. 多多客api_编写一个API接口,到底有多多多多多多多简单?

    这里所介绍的API接口 这里所介绍的API接口,主要是指通过HTTP协议调用,提供给客户端应用调用,并以JSON格式返回数据的接口. 编写API接口的最佳方式 编写API接口代码,开发一款API接口, ...

  7. 瞧瞧别人家的API接口,那叫一个优雅

    前言 在实际工作中,我们需要经常跟第三方平台打交道,可能会对接第三方平台API接口,或者提供API接口给第三方平台调用. 那么问题来了,如果设计一个优雅的API接口,能够满足:安全性.可重复调用.稳定 ...

  8. 【项目】API接口的加签和验签

    近期工作学习中,遇到了几个对接第三方 API 的需求.对于提供接口的平台,提供的接口为什么能保证安全可靠呢?这其中又是如何防止第三方的恶意使用呢?如何鉴别调用者的身份呢? API 接口加密的原理 AP ...

  9. BIKI交易所API接口文档

    入门指引 欢迎使用开发者文档,BiKi提供了简单易用的API接口,通过API可以获取市场行情数据.进行交易.管理订单 创建API Key 用户在 BiKi 注册账号后,需要在 [用户中心] - [AP ...

  10. API接口的安全设计验证:ticket,签名,时间戳

    作者:一剑天门 cnblogs.com/dslx/p/14116294.html 概述 与前端对接的API接口,如果被第三方抓包并进行恶意篡改参数,可能会导致数据泄露,甚至会被篡改数据,我主要围绕时间 ...

最新文章

  1. 普华永道:AI规模化应用,基础知识先行
  2. 如何在Mac OSX Yosemite中将Ruby版本2.0.0更新到最新版本?
  3. java mqtt paho_使用eclipse paho在java端实现MQTT消息的收发(客户端与服务端实例)...
  4. Cocos2d-x 3.2 EventDispatcher事件分发机制
  5. 如何允许用户自定义UI
  6. backtrader期权回测框架
  7. java反射 虚拟机优化_面试官问我:Java反射是什么?我回答竟然不上来......
  8. mysql加锁后怎么解除_Mysql查看死锁与解除死锁的深入讲解
  9. 【转】性能测试,影响 TPS 的一些因素
  10. 2017.10.8 球形空间产生器sphere 思考记录
  11. 复制和删除文件夹所有内容
  12. VC中ComboBox控件用法详解
  13. 哈希值之逆序数与变进制
  14. Express框架学习笔记-app.locals对象
  15. PhpSpreadsheet设置单元格常用操作汇总
  16. 大规模MIMO多用户系统中的导频调度和预编码方法
  17. 美团iOS逆向工程分析
  18. 自己动手搭建聊天APP
  19. Tilemap瓦片地图
  20. html5动漫动态背景图片,简单动画-让你的背景图动起来!!!

热门文章

  1. 水舞灯光秀在城市建设中有哪些作用呢
  2. 【Power平台】Power Apps项目规划阶段(1),识别业务问题
  3. 16个国外网站设计能帮你找到灵感
  4. YACS20223月丙组——三扔硬币
  5. 找了几个 Solon 框架的商业落地项目案例!
  6. 预约直播|揭秘鸿蒙全新流量阵地,元服务带来的体验变革
  7. 几种流行的 IoT 物联网传感器
  8. Servlet监听器
  9. Facebook宕机事故,暴露了上云不是唯一的答案
  10. 如何在网页中实现右上角“平方”、右下角那种数字的写法?