OAuth认证协议中的HMACSHA1加密算法(实例)
实例如下:
<?php function hmacsha1($key,$data) { $blocksize=64; $hashfunc='sha1'; if (strlen($key)>$blocksize) $key=pack('H*', $hashfunc($key)); $key=str_pad($key,$blocksize,chr(0x00)); $ipad=str_repeat(chr(0x36),$blocksize); $opad=str_repeat(chr(0x5c),$blocksize); $hmac = pack( 'H*',$hashfunc( ($key^$opad).pack( 'H*',$hashfunc( ($key^$ipad).$data ) ) ) ); return $hmac; } ?>
以上这篇OAuth认证协议中的HMACSHA1加密算法(实例)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
OAuth认证协议中的HMACSHA1加密算法(实例)
实例如下: <?php function hmacsha1($key,$data) { $blocksize=64; $hashfunc='sha1'; if (strlen($key)>$blocksize) $key=pack('H*', $hashfunc($key)); $key=str_pad($key,$blocksize,chr(0x00)); $ipad=str_repeat(chr(0x36),$blocksize); $opad=str_repeat(chr(0x5c),$
-
使用新浪微博API的OAuth认证发布微博实例
继续前面的文章<新浪微博OAuth认证和储存的主要过程详解>,现在我们就使用它来发布微博. 我们已经将用户新浪微博的oauth_token和oauth_secret保存到 $_SESSION['oauth_token']=$result['oauth_token']; $_SESSION['oauth_secret']=$result['oauth_secret']; 里面,现在要做的就很简单了··就是调用sinaOauth的类进行发布.. 代码如下: //Statuses/update $c
-
新浪微博OAuth认证和储存的主要过程详解
网上很多关于OAuth的文章,但是包括sina本身都都没有详细的的介绍,包括验证过程和验证后数据的储存,所以参考了Twitter的认证过程写下一些详细的注释代码. 在我们开始前,我们先建立一张数据库来保存用户信息,下面是一个基本的 Mysql 的例子: CREATE TABLE `oauth_users` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `oauth_provider` VARCHAR(10), `oauth_uid` text,
-
java中Spring Security的实例详解
java中Spring Security的实例详解 spring security是一个多方面的安全认证框架,提供了基于JavaEE规范的完整的安全认证解决方案.并且可以很好与目前主流的认证框架(如CAS,中央授权系统)集成.使用spring security的初衷是解决不同用户登录不同应用程序的权限问题,说到权限包括两部分:认证和授权.认证是告诉系统你是谁,授权是指知道你是谁后是否有权限访问系统(授权后一般会在服务端创建一个token,之后用这个token进行后续行为的交互). spring
-
IOS中Weex 加载 .xcassets 中的图片资源的实例详解
IOS中Weex 加载 .xcassets 中的图片资源的实例详解 前言: 因为 .xcassets 中的图片资源只能通过 imageNamed: 方法加载,所以需要做一些特殊处理,才能提供给 Weex 使用(PS:纯属娱乐,因为 Weex 跨平台的特性,这种针对某一端做实现的方案实用价值并不大). 方案 观察 WeexSDK 发现有 WXImgLoaderProtocol 这个协议,这个协议包含了下面的方法: - (id<WXImageOperationProtocol>)downloadI
-
java 中 MD5加密的实例
java 中 MD5加密的实例 前言: 今天我来学习利用JAVA编程,通过MD5来实现加密,同时实现验证用户登录原理. 主要是 过程: 将原文的byte 文件通过 MD5加密完成 后.再将其转化为我们能看懂的密文(MD5生成的byte数据,我们无法识别) 主要代码如下 package techDemo; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.ut
-
TCP/IP协议中三次握手四次挥手的原理及流程分析
当初学的是通信专业,毕业以后,同学们各奔东西,去追逐自己的梦想,奔波于大大小小的工地之间.哈哈,开个玩笑,也有厉害的,进了某某研究所,嗯?他爸不是所长,内心不要太阴暗.记得有一门十分高大上的课程,名字叫做计算机网络(大概是这个名字吧).里面有一个关于握手的概念,现在温习一下. 先来看看原理图: TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接.在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手进行初始化的.三次握手的目的是同步连接双方的序列
-
Python 中的Selenium异常处理实例代码
自动化测试执行过程中,难免会有错误/异常出现,比如测试脚本没有发现对应元素,则会立刻抛出NoSuchElementException异常.这时不要怕,肯定是测试脚本或者测试环境哪里出错了!那如何处理才是关键?因为一般只是局部有问题,为了让脚本继续执行,so我们可以用try...except...raise捕获异常.该捕获异常后可以打印出相应的异常原因,这样以便于分析异常原因. 下面将举例说明,当异常抛出后将信息打印在控制台,同时截取当前浏览器窗口,作为后续bug的依据给相应开发人员更好下定位问题
-
Python使用get_text()方法从大段html中提取文本的实例
如下所示: <textarea rows="" cols="" name="id"><DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'yes'; mso-font
-
关于Vue中axios的封装实例详解
前言 axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 作为一个优秀的 HTTP 库,axios 打败了曾经由 Vue 官方团队维护的 vue-resource,获得了 Vue 作者尤小右的大力推荐,成为了 Vue 项目中 HTTP 库的最佳选择. 虽然,axios 是个优秀的 HTTP 库,但是,直接在项目中使用并不是那么方便,所以,我们需要对其进行一
随机推荐
- JavaScript 用fetch 实现异步下载文件功能
- js函数setTimeout延迟执行的简单介绍
- jQuery 淡入淡出、展开收缩菜单实现代码
- AngularJS基础学习笔记之控制器
- RedHat环境下socks5代理的配置指南教程
- iOS中的UIStepper数值加减器用法指南
- JAVAWEB实现简单的商城项目(一)实例代码解析
- oracle RETURNING 子句使用方法
- JavaScript基于setTimeout实现计数的方法
- js读取json的两种常用方法示例介绍
- PHP图片等比例缩放生成缩略图函数分享
- 页面只能打开一次Cooike如何实现
- 孩子,不要给父母当顺民!
- JAVASCRIPT 实现普通日期转换多少小时前、多少分钟前、多少秒
- c语言中static和extern的用法详细解析
- 关闭页面时window.location事件未执行的原因分析及解决方案
- JavaScript中判断原生函数检查function是否是原生代码
- 禁用页面部分JavaScript方法的具体实现
- python打开网页和暂停实例
- ThinkPHP静态缓存简单配置和使用方法详解