许久没有写博客了,有些惶恐地打开这个再熟悉不过的编辑器. 场景:要对一个涉及到敏感数据(账号.密码)的接口进行加密后返回 由于之前没有相关的经验,所以先在网上搜罗了一阵,这篇博客不错https://www.cnblogs.com/codeon/p/6123863.html给了我一些思路和启发. 先来介绍两个模糊不清,容易搞混的概念. Base64编码,看名字就可以知道这是一种编码方式,编码方式有很多ASCII.Unicode.UTF-8等,Base64编码会把3字节的二进制数据编码为4字节的文本…
如果你发现在一个接口使用有如下定义方法: public String[] getParameters(); 那么你应该认真反思.数组不仅仅老式,而且我们有合理的理由避免暴露它们.在这篇文章中,我将试图总结在Java API中使用数组的缺陷.首先从最出人意料的一个例子开始. 数组导致性能不佳 你可能认为使用数组是最快速的,因为数组是大多数collection实现的底层数据结构.使用一个纯数组怎么会比使用一个包含数组的对象性能更低? 让我们先从这个看起来很熟悉的普遍的习惯用法开始: public S…
消息队列 posix API 消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点.信号这种通信方式更像\"即时\"的通信方式,它要求接受信号的进程在某个时间范围内对信号做出反应,因此该信号最多在接受信号进程的生命周期内才有意义,信号所传递的信息是接近于随进程持续的概念(process-persistent):管道及有名管道则是典型的随进程持续IPC,并且,只能传送无格式的字节流无疑会给应用程序开发带来不便,另外,它的缓冲区大小也受到限制消息队列就是一个消息的链表.可以把消…
WebApi中的返回值类型大致可分为四种: Void/ IHttpActionResult/ HttpResponseMessage /自定义类型 一.Void void申明方法没有返回值,执行成功后返回204状态码.使用起来十分简单: public class NewsController : ApiController { [HttpPost] public void AddNews(News news) { } } 前端Ajax请求代码: $(function () { $.ajax({…
最近公司需要通过公网与其它平台完成接口对接,但是基于开发时间和其它因素的考虑,本次对接无法采用https协议实现.既然不能用https协议,那就退而求其次采用http协议吧! 那么问题来了!在对接的过程中我们需要对如下问题进行相关的考虑: 1.敏感信息的不可见性 使用http协议传输数据很容易被抓包监听传输内容,如果这些数据中存在敏感信息的话,风险太大了.因此我们需要对我们的传输数据进行一定的加密处理,即使数据被预期接收方之外的其它不法分子拦截,也无法轻易的破译此次请求的传输内容!最简单的方案就…
对称加密:双方采用同样的秘钥进行加密和解密.特点是速度快,但是安全性没有非对称加密高 非对称加密:接收方生成的公有秘钥公布给发送方,发送方使用该公有秘钥加密之后,发送给接收方,然后接收方使用私有秘钥解密 如果接收方需要返回消息给发送方,同样也可以接受发送方生成的公有秘钥,使用它加密后发送给发送方. (对称加密和非对称加密都是可逆加密,像SHA,MD4,MD5都是不可逆加密,通常用来检验数据在传输的过程中是否被修改) AES,RSA加密及解密代码如下: import java.security.K…
一,数据加密 1.提供了,md5,Hex,Sha等不可逆算法加密 2.AES加密,此加密方式瘦平台影响较重,所以只适合同类平台加密解密 3.DES自定义加密,跨平台,兼容性好 1.org.apache.commons.codec.digest.DigestUtils 提供了,md5,Hex,Sha等不可逆算法加密 public static String MD5(String src) { return DigestUtils.md5Hex(src); } public static Strin…
这个代码大家都蛮感兴趣,我在git开源了一个用于收集天气信息的系统,基于python语言的,请大家参考: https://github.com/BerlinSun/WeatherForecast ---------------------- 最近申请到SmartWeatherAPI天气预报接口的使用权限,开始着手我的实时天气预报系统的开发,主要开发的版本使用的是Python脚本,成果将于近期以系列文章与大家见面.今天在这里我和大家探讨一下SmartWeatherAPI中key的计算方法,并提供C…
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在Web Api中,我们对资源的CRUD操作都是通过相应的Http方法来实现——Post(新增),Put(修改),Delete(删除),Get(查询).查询在前几章我们已经实现了,本章就在我们的案列(CourseController)中实现put,post和delete方法. 使用Http Post方法创建一个Course 首先,在“CourseController”中创建Post(Cou…
JDBC API中包含四个常用的接口和一个类分别是: 1.Connection接口 2.Statement接口 3.PreparedStatement接口 4.ResultSet接口 5.DriverManager类 下面一一介绍这四个接口和一个类 (1)Connection接口 Connection接口位于java.sql包当中,是与数据库连接会的对象,只有获得特定的数据库连接对象,才可以访问数据库进行数据库操作.在进行数据库连接的时候还要用到DriverManager类中的getConnec…
在进行后端接口API封装的过程中,需要考虑各种错误信息的输出.一般情况下,根据相应问题输出适合的HTTP状态码,可以方便前端快速定位错误,减少沟通成本. HTTP状态码有很多,每个都有对应的含义,下面列出日常工作中常见的部分: 2XX (请求成功)表示成功处理了请求的状态代码. 200   (成功)  服务器已成功处理了请求. 通常,这表示服务器提供了请求的网页. 201   (已创建)  请求成功并且服务器创建了新的资源. 202   (已接受)  服务器已接受请求,但尚未处理. 203  …
基于令牌的身份验证 基于令牌的身份验证主要区别于以前常用的常用的基于cookie的身份验证,基于cookie的身份验证在B/S架构中使用比较多,但是在Web Api中因其特殊性,基于cookie的身份验证已经不适合了,因为并不是每一个调用api的客户端都是从浏览器发起,我们面临的客户端可能是手机.平板.或者app. 使用基于Token令牌的身份验证有一些好处: 服务器的可伸缩性:发送到服务器的令牌是字包含的,不依赖与共享会话存储 松散耦合:前端应用程序位于特定的身份验证机制耦合,令牌是从服务器生…
1.初始JWT 1.1.JWT原理 JWT(JSON Web Token)是目前最流行的跨域身份验证解决方案,他的优势就在于服务器不用存token便于分布式开发,给APP提供数据用于前后端分离的项目.登录产生的 token的项目完全可以独立与其他项目.当用户访问登录接口的时候会返回一个token,然后访问其他需要登录的接口都会带上这个token,后台进行验证如果token是有效的我们就认为用户是正常登录的,然后我们可以从token中取出来一些携带的信息进行操作.当然这些携带的信息都可以通过其他额…
在.NET Core WEB API中参数的模型绑定方式有以下表格中的几种: 微软官方文档说明地址:https://docs.microsoft.com/zh-cn/aspnet/core/web-api/?view=aspnetcore-2.1 特性   绑定源 [FromHeader] 请求标头 [FromQuery] 请求查询字符串参数 [FromForm] 请求正文中的表单数据 [FromBody] 请求正文 [FromRoute] 当前请求中的路由 [FromServices] 作为操…
前言 曾几何时,微软基于Web服务技术给出最流行的基于XML且以扩展名为.asmx结尾的Web Service,此服务在.NET Framework中风靡一时同时也被.NET业界同仁所青睐,几年后在此基础上又扩展成为了WCF,基于SOAP协议,基于WCF标准需要一些配置上的改变.现如今,大势所趋我们只需要HTTP协议以及更加优美的JSON格式,这时将不得不出现一个更加轻量级的Web服务技术.当然,Web Service和WCF虽然有其局限性但是其仍被许多企业所广泛应用,说明一时半会还不会被淘汰,…
前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等,但是为了安全起见让用户暴露的明文密码次数越少越好,我们一般在web项目中,大多数采用保存的session中,然后在存一份到cookie中,来保持用户的回话有效性.但是在app提供的开放接口中,后端服务器在用户登录后如何去验证和维护用户的登陆有效性呢,以下是参考项目中设计的解决方案,其原理和大多数开放…
一.前言 上一篇文章中粗浅的介绍使用Redis和基于令牌桶算法进行对服务接口API限流,本文介绍另一种算法---漏桶算法的应用.Nginx想必大家都有所了解是一个高性能的 HTTP 和反向代理服务器,优秀而强大的Nginx依然可以处理限制来自单个IP地址的请求处理频率.ngx_http_limit_conn_module模块可以限制请求数即通过定义的键值来限制请求处理的频率.该模块其采用漏桶算法,每秒固定处理请求数,推迟延迟请求. 二.ngx_http_limit_conn_module模块指令…
前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等,但是为了安全起见让用户暴露的明文密码次数越少越好,我们一般在web项目中,大多数采用保存的session中,然后在存一份到cookie中,来保持用户的回话有效性.但是在app提供的开放接口中,后端服务器在用户登录后如何去验证和维护用户的登陆有效性呢,以下是参考项目中设计的解决方案,其原理和大多数开放…
这次在项目中要实现订单功能,所以要完成在线支付,在线支付一般有网银支付和第三方支付(支付宝.paypal等)这两种途径,未简单起见,先完成支付宝在线支付功能,由于项目基于Yii框架,且使用UTF-8编码,所以显然要用支付宝接口中的PHP UTF-8相关API来实现. 在正式测试之前,先准备好几个字段:支付宝帐号,与该支付宝帐号绑定的合作身份者id以及安全校验码key. 测试之前要先到 http://club.alipay.com/read.php?tid=9976972 这里取下载最新的相关接口…
(转载)http://www.farsight.com.cn/news/emb167.htm 1 Linux系统调用 所谓系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口获得操作系统内核提供的服务.例如,用户可以通过进程控制相关的系统调用来创建进程.实现进程之间的通信等. 在这里,为什么用户程序不能直接访问系统内核提供的服务呢?这是由于在Linux中,为了更好地保护内核空间,将程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运…
USB联机线编程接口(API) 2013-10-19 本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用. 关键字:USB隔离线.USB点对点通讯.USB通讯编程接口.USB数据传输.双机互联.USB数据共享.键鼠共享器.USB联机线.USB联网线.USB共享线.USB互联线.USB对拷线.USB对联线.USB互联线.USB文件传输.USB. 一.概述 当前计算机的USB口已很普遍,USB2.0理论传输速率最高为480Mbps,即60MB/s,USB3…
Web API中使用Dependency Resolver 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文主要来介绍在Asp.Net Web API使用Web API的Decpendency Resolver在控制器中如何注入依赖. 本文使用VS2013.本文的示例代码下载链接为http://pan.baidu.com/s/1BvFTs 为什么要使用Dependen…
FastDFS接口API文档说明 时间:2012-03-17 来源:R9IT 作者:R9传奇 一.命令行的上传: 上传命令1. /usr/local/bin/fdfs_upload_file config_file local_filename 例如:系统根目录下有个文件需要上传到dfs服务器上: / cairo-1.2.0.tar.gz 执行上传命令如下: /usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /cairo 一.命令行的上传…
HAL(Hypertext Application Language,超文本应用语言)是一种RESTful API的数据格式风格,为RESTful API的设计提供了接口规范,同时也降低了客户端与服务端接口的耦合度.很多当今流行的RESTful API开发框架,包括Spring REST,也都默认支持HAL规范,当RESTful API被调用后,服务端就会返回ContentType为application/hal+json的JSON内容,例如: { "_links": { "…
前言 哈喽大家周一好,今天的内容比较多,主要就是包括:把前端页面的展示页给搭出来,然后调通接口API,可以添加数据,这两天我也一直在开发,本来想一篇一篇的写,发现可能会比较简单,就索性把项目搭建的过程简化,一次写好了,在开发 Nuxt.js 框架的过程中,我发现相比之前还是有些变化的,如果你是读过我第一个前后端分离系列的小伙伴,可能看过我简单说过Nuxt框架的一些知识<Nuxt.js 是什么?>,我发现现在在项目搭建的过程中,已经优化了一些功能,今天就重头搭建一下. 如果你没有看过之前的文章,…
下载源码 - 903.5 KB 内容 第1部分:Visual Studio 2017中的Angular2设置,基本CRUD应用程序,第三方模态弹出控件 第2部分:使用Angular2管道进行过滤/搜索,全局错误处理,调试客户端 介绍 由于Angular2广泛应用于Web和移动开发的客户端框架,在本文中,我将尝试解释一步一步的指导,使用Angular2和MVC Web API创建基本的CRUD(创建,读取,更新和删除)应用程序作为后端RESTful API .我将创建空白的ASP.NET MVC应…
Atitit 图像处理之编程之类库调用的接口api cli gui ws rest  attilax大总结.docx 1. 为什么需要接口调用??1 1.1. 为了方便集成复用模块类库1 1.2. 嫁接不同的语言与类库,以及嵌入dsl1 1.3. 方便跨机器,跨开发板,跨硬件,跨运行环境的代码复用2 2. 接口api的历史2 2.1. 发展历程2 2.2. API 这个类库默认提供的接口,要求同语言调用一般2 2.3. Cli接口 命令行接口.单机跨语言接口(推荐比较常用)3 2.4. 图形用户…
在app开放接口API的设计中,避免不了的就是安全性问题. 一.https协议 对于一些敏感的API接口,需要使用https协议. https是在http超文本传输协议加入SSL层,它在网络间通信是加密的,所以需要加密证书. 二.签名设计 原理:用户登录后向服务器提供用户认证信息(如账户和密码),服务器认证完后给客户端返回一个Token令牌,用户再次获取信息时,带上此令牌,如果令牌正确,则返回数据.对于获取Token信息后,访问用户相关接口,客户端请求的url需要带上如下参数: 时间戳:time…
在APP开放接口API的设计中,避免不了的就是安全性问题. 一.https协议 对于一些敏感的API接口,需要使用https协议.https是在http超文本传输协议加入SSL层,它在网络间通信是加密的,所以需要加密证书. 二.设计签名 原理:用户登录时向服务器提供用户认证信息(如账号和密码),服务器认证完后给客户端返回一个Token令牌,用户再次获取信息时,需带上此令牌.如果令牌正确,则返回数据. 对于获得Token令牌信息后,访问用户相关接口,客户端请求的url需要带上如下参数: 时间戳:t…
文档首页 英文版文档 本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可. Node.js v0.10.18 手册 & 文档 索引 | 在单一页面中浏览 | JSON格式 目录 关于本文档 稳定度 JSON 输出 概述 全局对象 global process console 类: Buffer require() require.resolve() require.cache require.extensions __filename __dirname module e…