WebApi-如何实现接口加密

方法一

加一个访问token。
例如你的api地址是http://www.example.com/api.php
需要接受的参数有a,b,c三个
那么可以加一个验证token(通过约定的key加密生成)。

例如
$a=1;
$b=2;
$c=3;
$key=‘abcdef‘;

$token=sha1($a.$b.$c.$key);

然后访问使用http://www.example.com/api.php?a=1&b=2&c=3&token=xxxx
api.php接收到a,b,c,token参数后,根据a,b,c与约定好的key,计算sha1($a.$b.$c.$key);是否等于接收到的token,如果相同则返回数据,否则返回没有权限。

时间: 2024-11-20 23:51:54

WebApi-如何实现接口加密的相关文章

android接口加密

最近公司写的android接口需要加密,防止被恶意攻击. 1 大多数接口加密都是携带证书,大家可以参考这位大兄弟的  http://my.oschina.net/jjface/blog/339144 2 这种携带证书比较麻烦,而且代码比较多,比较繁琐一般同学都搞不定,所以就想了个简单的办法,传两个参数,一个是string类型的另一种是MD5加密的密文,在服务端写个拦截器/或者过滤器去拦截他,然后做自己相应的逻辑处理,把string类型的字段拿过来加上其他一些东西,用MD5加密和传过来的密文做相应

Swagger(webapi自动生成接口说明文档)

1.引入Swagger.Net.UI和Swashbuckle包 2.卸载重复包Swagger.Net 3.多余的SwaggerUI文件夹 4.项目属性->勾选生成xml文档文件 5.添加类SwaggerCachingProvider和修改SwaggerConfig文件 using Swashbuckle.Swagger; using System; using System.Collections.Concurrent; using System.Collections.Generic; usi

给WebAPI的REST接口添加测试页面(二)

在上篇文章中,我对Swagger-UI的基本功能进行了一些介绍,今天在这里介绍一下如何在WebAPI中集成Swagger-UI.这里以一个简单的CRUD的REST服务为例. 1 /// <summary> 2 /// 用户管理 3 /// </summary> 4 public class UserController : ApiController 5 { 6 static List<User> _users = new List<Controllers.Use

给WebAPI的REST接口服务添加测试页面(一)

当使用WebAPI提供REST服务的时候,一个经常进行的操作是对接口进行测试.Asp.net WebAPI框架本身并没有提供这一接口,不过由于提供的是标准的REST服务,是可以非常方便的使用一些第三方的工具的. 我之前经常用的Chrome的Postman插件来进行测试,它可以用来模拟各种Http请求操作.虽然这个工具也算好用,不过由于它只是一个通用的工具,使用它的时候要构建Http报文头,并根据具体API组装消息体,这也是一件比较麻烦的事情. 今天网上闲逛的时候发现了一个更加好用的测试工具Swa

接口加密《二》: API权限设计总结

来源:http://meiyitianabc.blog.163.com/blog/static/105022127201310562811897/ API权限设计总结: 最近在做API的权限设计这一块,做一次权限设计的总结. 1. 假设我们需要访问的API接口是这样的:http://xxxx.com/openapi/v1/get/user/?key=xxxxx&sign=sadasdas&timestamp=2013-03-05 10:14:00&c=c&a=a&d

http接口加密《一》:移动应用中,通过在客户端对访问的url进行加密处理来保护服务器上的数据

来源:http://meiyitianabc.blog.163.com/blog/static/10502212720131056273619/ 我认为,保护服务器端的数据,有这么几个关键点: 不能对使用体验产生影响,这就排除掉了诸如每次接口调用都要求用户输入验证码这样的做法 接口调用的网络交互需要无规律可循,比如article/1 –> article/1000 这样的接口就太容易被其他人爬走了 要严格意义上阻击爬虫,需要每一次网络请求都是不可重放的,这样才能避免其他人通过监听网络交互并重放来

WebAPI+NLog实现接口调用日志输出

在生产环境下,经常需要监测查看WebAPI接口的调用情况,日志就成了必不可少的手段之一,本文采用NLog实现WebAPI的日志记录. 环境 版本 操作系统 Windows 10 prefessional 编译器 Visual Studio 2015 update3 创建WebAPI 创建WebAPI项目,选择ASP.NET 4.5.2模板中的WebAPI模板. 引用NLog类库 打开项目的NuGet包管理器,搜索NLog,为项目添加程序包引用. 修改项目配置文件 在webAPI项目的Web.co

SpringBoot中幸运飞艇网站制作接口加密解密统一处理

在和客户端中的接口交互时,要取得更高的安全性,幸运飞艇网站制作q<217.17.9.34.0.8>或许我们需要对其进行加密(请求参数加密和服务端解密).信息返回加密(服务端加密和客户端解密),然后不是所有接口都如此,有些接口可能不用,可以通过注解来简单达到此要求. 将接口参数的加密解密和返回信息的加密解密分开,分别定义注解,利用Controller的ControllerAdvice来拦截所有的请求,在其中判断是否需要加密解密,即可达到要求.使用方法:使用 DecryptRequest 和 En

Locust性能测试--接口加密参数关联

前言登陆接口:headers:时间戳--timestamp实时获取,clientId--android/ios/web/微信小程序固定值,sign--privatekey加密后得到 查询报告接口: headers:时间戳--timestamp实时获取,clientId--android/ios/web/微信小程序固定值,sign--privatekey加密后得到,token--登录返回的参数 思路1.解决sign加密问题:_dispose_params()._rsa()2.只登陆一次,拿到tok

给WebAPI的REST接口添加测试页面(三)

在前面的文章中,我介绍过了通过Swashbuckle在WebAPI中集成Swagger-UI.不过这种方式不适合于最新版的ASP.Net MVC6下的WebAPI,在网上搜了一下,发现了它还有一个专供ASP.Net MVC6 WebAPI使用的版本:https://github.com/domaindrivendev/Ahoy 新版本的使用也不复杂,首先在project.json中添加Swashbuckle的引用: 这里要添加6.0的版本,另外值得注意的地方是,由于目前ASP.Net MVC6有