Nonce】的更多相关文章

前段时间给客户网站做新浪微博账号登录功能,对OAuth协议以及相关的一些安全协议做了一些研究,顺便就记录一下学习心得吧.在这里就不打算具体讲OAuth的协议流程了,而是针对OAuth请求头里的nonce(随机数).timestamp(时间戳).signatrue(签名)这些参数的作用做一下总结. 首先看一下HTTP规范里定义的Basic认证. Basic认证及其安全问题 Basic认证是一个流程比较简单的协议,整个过程可以分为以下三个步骤: a) 客户端使用GET方法向服务器请求资源. b) 服…
以前总是通过timestamp来防止重放攻击,但是这样并不能保证每次请求都是一次性的.今天看到了一篇文章介绍的通过nonce(Number used once)来保证一次有效,感觉两者结合一下,就能达到一个非常好的效果了. 重放攻击是计算机世界黑客常用的攻击方式之一,所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程. 首先要明确一个事情,重放攻击是二次请求,黑客通过抓包获取到了请求的HTTP报文,然后黑客自己编写了一个类似的HTTP请求,发送给服务器…
重放攻击是计算机世界黑客常用的攻击方式之一,所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程. 首先要明确一个事情,重放攻击是二次请求,黑客通过抓包获取到了请求的HTTP报文,然后黑客自己编写了一个类似的HTTP请求,发送给服务器.也就是说服务器处理了两个请求,先处理了正常的HTTP请求,然后又处理了黑客发送的篡改过的HTTP请求. 基于timestamp的方案 每次HTTP请求,都需要加上timestamp参数,然后把timestamp和其他参数一…
以太坊系列(ETH&ETC)在发送交易有三个对应的RPC接口,分别是ethsendTransaction.ethsendRawTransaction和personal_sendTransaction.这三个接口发送(或构造发送内容时)都需要一个参数nonce.官方文档对此参数的解释是:整数类型,允许使用相同随机数覆盖自己发送的处于pending状态的交易.仅从官网的解释,我们无法获取到更多的有效的信息.但在真实生成中我们会发现如果传错nonce字段值,通过RPC接口调用发送的交易很大可能将不会被…
Nonce是由服务器生成的一个随机数,在客户端第一次请求页面时将其发回客户端:客户端拿到这个Nonce,将其与用户密码串联在一起并进行非可逆加密(MD5.SHA1等等),然后将这个加密后的字符串和用户名.Nonce.加密算法名称一起发回服务器:服务器使用接收到的用户名到数据库搜索密码,然后跟客户端使用同样的算法对其进行加密,接着将其与客户端提交上来的加密字符串进行比较,如果两个字符串一致就表示用户身份有效.这样就解决了用户密码明文被窃取的问题,攻击者就算知道了算法名和nonce也无法解密出密码.…
/********************************************************************************* * Refused to execute inline event handler because it violates the following Content Security Policy directive: "xxx". Either the 'unsafe-inline' keyword, a hash (…
原文:http://weblog.west-wind.com/posts/2012/Nov/24/WCF-WSSecurity-and-WSE-Nonce-Authentication?utm_source=tuicool&utm_medium=referral WCF makes it fairly easy to access WS-* Web Services, except when you run into a service format that it doesn't suppor…
一.c#微信公众号开发----基本设置 参考微信官方文档 https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html 开发→基本配置 公众号开发信息 注:1.记录好开发者密码,会在程序中验证过程中使用到. 2.通过appid和appsecret调用access_token时,至有在ip白名单的ip才能成功调用. 服务器配置 若此处开启服务器配置,设置的自动回复和自定义菜单将全部失效…
Nonce是或Number once的缩写,在密码学中Nonce是一个只被使用一次的任意或非重复的随机数值. 在加密技术中的初始向量和加密散列函数都发挥着重要作用,在各类验证协议的通信应用中确保验证信息不被重复使用以对抗重放攻击(Replay Attack). Nonce,Number used once或Number once的缩写,在密码学中Nonce是一个只被使用一次的任意或非重复的随机数值,在加密技术中的初始向量和加密散列函数都发挥着重要作用,在各类验证协议的通信应用中确保验证信息不被重…
参考:http://blog.csdn.net/koastal/article/details/53456696…
MongoDb在读取一个数据时抛出此异常, google之后也是只有源码没有任何相关结果, 考虑到之前同样的Db下不同的Collection没有发现此问题, 对比之后发现出错的url为: mongodb://user:pass@1.2.3.4:port/DbName/ 此url作为 MongoDbHelper<>的url后,Db被解析为 "DbName/" 而不是"DbName" 修改代码,添加函数 trim('\','/') 后问题解决…
在编写网络程序时,常使用TCP协议.那么一个tcp包到底由哪些东西构成的呢?其实一个TCP包,首先需要通过IP协议承载,而IP报文,又需要通过以太网传送.下面我们来看看几种协议头的构成 一 .Ethernet头 以太帧分好几种类型,常见的以太帧为Ethernet II 下面就是一个典型的Ethernet II帧 Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4) 首先是目的MAC 6个字节,然后源MAC6个字节,接下…
系列目录 前言 Senparc.Weixin.MP SDK提供了MessageHandler消息处理类 在作者的Wiki中也详细说明了如何定义这个类,下面我们来演示,消息的回复,及效果 了解MessageHandler 引用作者的话:CustomMessageHandle.cs需要继承Senparc.Weixin.MP.MessageHandlers<TC>这个抽象类,并实现部分方法.最初步的CustomMessageHandle.cs代码 public class CustomMessage…
系列目录 思维导图 下面我们来看一个思维导图,这样就可以更快了解所需要的功能: 上一节我们利用了一个简单的代码例子,完成了与微信公众号的对话(给公众号发一条信息,并得到回复) 这一节将讲解公众号如何设置,虽然公众号管理只是一张表,但是设计起来还是有一些技巧 1.一个企业可能底下有多个业务公众号在同一个系统中需要处理(用户发起的请求,是对应我们哪个公众号) 2.多个公众号下,后台如何取得操作比较方便(设置当前公众号为默认操作号) 3.可以手动刷新Access_Token,因为我们随时要保持Acce…
系列目录 前言: 一.阅读这段系列之前,你必须花半天时间大致阅读微信公众平台的API文档,我尽量以简短快速的语言与大家分享一个过程 二.借助微信公众平台SDK Senparc.Weixin for C#,所以你必须对Senparc进行独立的了解 http://weixin.senparc.com/ 三.如果配置遇到困难,下载文章尾部源码进行参考 ---------------------------------------------------资源-----------------------…
之前的文章,已经分析过快递Api接口可能被使用的需求及场景:今天呢,简单给大家介绍一下微信公众号中怎么来使用快递Api接口,来完成我们的需求和业务场景. 开发语言:Nodejs,其中用到了Neo4j图形数据库 准备工作 首先,需要到微信公众平台注册账号 选择账号类型界面如下: 选择订阅号或服务器都可以,本文是使用订阅号进行展开描述.开发微信小程序的选择小程序即可,不过暂时不对个人开发,只能呵呵了. 选择之后,根据注册流程,一步步填写验证即可. 注册完成后,到微信公众平台登陆即可. 登陆成功,如下…
最近一段时间在学习WebApi,涉及到验证部分的一些知识觉得自己并不是太懂,所以来博客园看了几篇博文,发现一篇讲的特别好的,读了几遍茅塞顿开(都闪开,我要装逼了),刚开始读有些地方不理解,所以想了很久,因此对原文中省略的部分这里做一点个人的理解和补充,非常基础,知道的园友就不需要了,只是帮助初次学习的园友理解.原文传送门: http://www.cnblogs.com/MR-YY/p/5972380.html#!comments 本篇博文中的所有代码均来自上述链接,如果你觉得有帮助,请点击链接给…
现在主流上都用php写微信公众号后台,其实作为后端语言之一的java也可以实现. 这篇文章将对验证服务器地址这一步做出实现. 参考资料:1.慕课网-<初识java微信公众号开发>,2.微信公众号开发者文档http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html 如图,开发者在点击提交后,微信服务器向公众号后台服务器发送了四个参数,咱们把这四个参数封装成一个类,就叫Signature吧 代码都是myeclipse自动…
微信公众号有个规则,一旦开启了开发者模式,其他的常规功能就都必须通过接口调用完成.比如说自定义菜单功能,必须通过发送post请求的方式生成.本章就通过关注到取消关注的整个过程来谈一谈nodejs是怎么样与微信交互的.这些功能的入口就是你在测试公众号里面填写的URL(以下用/login/wechat代替). 事件交互 扫码关注微信公众号后,微信会调用你的接口/login/wechat,并且附带一段xml信息,首先你需要获取一些签名,通过加密.排序比对是否与你填写的TOKEN一致,如果一致则进行xm…
微信硬件平台是微信推出连接物与人,物与物的IOT解决方案.也就是说可以通过微信控制各种智能设备.比如一些蓝牙设备.空调.电视等等. 我本身不懂硬件(虽然是电子信息专业),硬件是北航的两个研究生在弄,小团队里我负责开发H5自定义面板,刚开始看官方文档各种迷糊,对于jssdk.jsapi.Airkiss.openApi.直连SDK都不知道该用哪个做,官方论坛问问题基本上没结果,加了几个微信硬件群问问题,发现好些开发者和我一样,同一个问题,发到几个群里问,画面好心酸.给wxthings发邮件问,能回复…
使用数据实体的好处我这里就不多说了,但大家享受这些好处的时候,难免也对那些琐碎的赋值代码感到厌烦,基于此,我认为掌握一个oom的使用,还是很有必要的. 这种类型的工具有很多,比如automapper,EmitMapper,还有和orm混合的dapper等,各有各的特色, 但综合性能,扩展,易用性来说,我觉得ValueInjecter是用的最舒服的. 太简单的场景我就不举例了, 可以看这里 今天玩了玩微信接口开发,写对象转换的时候,再一次感觉到了ValueInjecter的便利,于是有了这篇文.…
本文为原创,原始地址为http://www.cnblogs.com/fengzheng/p/5027630.html 上一篇说了微信开发的准备工作,准备工作完成之后,就要开始步入正题了.其实微信公众号开发,说白了,就是要构造和发送http或https的请求组成,并根据请求的返回数据做逻辑处理. 今天就来说一说微信开发第一步,公众号接入以及access_token的管理. 微信公众号接入 在微信公众号开发手册上,关于公众号接入这一节内容还是写的比较详细的,文档中说接入公众号需要3个步骤,分别是:…
 概述: 由于业务需要,要编写爬虫代码去爬去新浪微博用户的信息. 虽然在网上能找到不少信息,但由于新浪微博改版,其登陆机制进行了修改,故很多老的文章就不适合用了. 经过一番摸索,成功模拟新浪微博的登陆操作,项目使用的是Javascript语言,在ChromeExtension中运行, 跟大家分享一下这一过程和心得. 注意,本文写于2013.08.16,由于微博业务经常变化,随年月老去,文章可能不再适用.  正文:探索的过程 1. 了解大致过程 登陆微博,使用fiddler工具监视HTTP请求,截…
Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication).1 1.2. 关于HTTP AUTH的文档不多.1 1.3. 什么是HTTP基本认证1 1.4. 适用场合 路由器 摄像头2 1.5. 其他认证  除了基本认证(Basic Authenticat…
Atitit onvif 协议截图 getSnapshotUri 使用java 1.1. ONVIF Device Test Tool1 1.2. 源码2 1.3. 直接浏览器访问http://192.168.31.144:81/snapshot.cgi,需要你提供用户名密码admin aaaaaa就可以了.显示一个图片..3 1.1. ONVIF Device Test Tool <?xml version="1.0" encoding="utf-8"?&g…
Atitit java onvif 开源类库 getProfiles getStreamUri 1. ONVIF Java Library by Milgo1 1.1. https://github.com/milg0/onvif-java-lib4 1.2. getProfiles  respones file4 1.3. getStreamUri:rtsp://192.168.31.144:10554/tcp/av0_04 1.4. Code---5 1. ONVIF Java Librar…
上篇介绍了新浪微博的登陆过程,这节使用Python编写一个模拟登陆的程序.讲解与程序如下: 1.主函数(WeiboMain.py): import urllib2 import cookielib import WeiboEncode import WeiboSearch if __name__ == '__main__': weiboLogin = WeiboLogin('×××@gmail.com', '××××')#邮箱(账号).密码 if weiboLogin.Login() == Tr…
前面的话 上一篇介绍的基本认证便捷灵活,但极不安全.用户名和密码都是以明文形式传送的,也没有采取任何措施防止对报文的篡改.安全使用基本认证的唯一方式就是将其与SSL配合使用 摘要认证与基本认证兼容,但却更为安全.本文将详细介绍绍摘要认证的原理和实际应用 工作原理 摘要认证是另一种HTTP认证协议,它试图修复基本认证协议的严重缺陷.具体来说,摘要认证进行了如下改进:永远不会以明文方式在网络上发送密码:可以防止恶意用户捕获并重放认证的握手过程:可以有选择地防止对报文内容的篡改:防范其他几种常见的攻击…
园子里面很多关于微信接口开发的文章,Github也一堆的开源代码. 官方文档地址:http://mp.weixin.qq.com/wiki/home/index.html 接下来主要以代码为主,接口说明自己去看文档 验证接入需要一个80端口的外网服务器地址,在填写地址,Token信息之后,程序会验证接入 验证会像就扣地址通过GET的方式发送几个数据: signature,timestamp, nonce, echostr(该参数仅仅在验证接入时候会带上) 接下来就是你服务端接口验证签名的可用性了…
微信回调模式的官方文档. 开发语言:C#(微信相关功能代码可以从官网下载) 首先,必须要明确几个参数,这几个参数在微信企业号中,每次调用都会使用到. 1.msg_signature:签名(已加密,加密方法可从官网下载) 2.timestamp:时间戳 3.nonce:随机数 4.echostr:随机字符串(已加密) 注:前面3个参数每次都会自动带上,属于必填项,第4个参数只有在首次校验URL时(意思就是点下图中的“保存”按钮时,可能不准确,先这样理解吧)才会带上. 针对上图的说明: 1.URL:…