您的位置:首页 > 编程语言 > PHP开发

OAuth认证的 HMAC-SHA1签署 实现

2010-10-29 18:22 302 查看
HMAC-SHA1签署方式使用[RFC2104] (Krawczyk, H., Bellare, M., and R. Canetti, “HMAC: Keyed-Hashing for Message Authentication,” .)中定义的HMAC-SHA1签署算法,把签署基字符串作为text, key则由先按照参数编码 (参数编码)进行编码再用“&”字符(ASCII代码38)分隔(无论是否为空)的消费方密钥和令牌密钥串接而成。 
HMAC_SHA1(Hashed Message Authentication Code, Secure Hash Algorithm)是一种安全的基于加密hash函数和共享密钥的消息认证协议。它可以有效地防止数据在传输过程中被截获和篡改,维护了数据的完整性、可靠性和安全性。HMAC_SHA1消息认证机制的成功在于一个加密的hash函数、一个加密的随机密钥和一个安全的密钥交换机制。
  HMAC_SHA1 其实还是一种散列算法,只不过是用密钥来求取摘要值的散列算法。
  HMAC_SHA1算法在身份验证和数据完整性方面可以得到很好的应用,在目前网络安全也得到较好的实现

$key是验证的主机给你的一个随机密钥,你在本地对要传输的字符$data配合$key进行运算之后发送到验证主机,那边会通过$key对已有的数据进行进行运算,然后结果和你发送过来的进行对比。

业务封装的好 用不用框架没有太大区别 面向对象的根本是 封装和复用

php中的框架最好不要用于实际项目,要么过于简陋,缺乏足够的扩展性,缺少必要扩展模块。
要么巨大且臃肿,太多没用的、过时的、你用不上的东西,而且这些你还没有办法卸载掉。
php没有向着更好的组件,标准件支持方面发展,却向着下一代语言发展,这是目前最大的缺失。也是作为php程序员最大的遗憾。 痛苦

3. php对使用者要求较高,.NET门槛较低。 这个说反了

中小企业应用主要是.net,大型企业应用是jsp,而网络多用jsp和php。
  .net的特点是b/s,c/s有些互通,C#程序员不用学太多ajax,css,http之类的知识,拖个控件就能列一堆报表了 。所以.net的培训速成班最多。配合还算不错的mssql使用,是典型的面向中小企业的应用。企业应用在于快速开发,集成,整合,数据供用和海量数据的存储,数据挖掘和数据存储安全。微软的.net能整合一堆办公软件,具有很强的优势。
不过.net在做网站上优势并不大。主要是因为网站侧重于高并发,访问速度优化,高实时,而.net本身并不开源,不能重写底层代码,web服务器IIS,操作系统统统不开源的,第三方的支持也比较一般。就算是你改几个官方控件的样式和特性,都得在它的条条框框里撞撞跌跌的够呛。面对日新月异的web应用,没有一个能充分自由修改和调优的基础,高负载均衡的话大多只能通过买性能高的硬件来达成。这就是为什么大型网站都是用jsp和php。
 银行政府用的多主要是因为jsp有强大的官方技术支持,庞大的社区,并且付得起高额的版权费用。
php一套全部免费,配合perl和python灵活度非常高。而且php本身其实就是基于c语言包装而来,必要时候可以重写runtime。mysql数据库虽然不及msql和oracle的企业应用强,不过发展还是比较迅速的,它天生转为网站设计,达到10万的并发数的能力也可以傲视群雄了。这就是为什么网络公司中意php。
你如果对于PHP没有太多的兴趣的话,还是用CI吧,这个学起来简单,基本上看完视频就可以了,其它框架的学习曲线都相当陡峭一些

先把PHP手册看一遍,再选一两个框架熟悉使用就可以了,codeigniter

强烈同意,我把ci的源代码看个遍,现在的框架,我想怎么改就怎么改.

真的,在我看来框架真的太臃肿了,而且你即使是写一个功能很小的东西,但是ta里面的代码都要基本上都执行一遍,意思就是这些多少MB的框架里面的代码都执行一遍网站才显示出来,灵活性不言而语。
要是作为学习目的的话,最好不要用框架,从最基础的学起,只要基础打好了,什么框架都好上手,框架只是个工具!

框架就是MVC吧!自己弄个简单的不就可以了

ThinkPHP我感觉挺好的啊,手册写得很详细,学起来很快

框架就是太大了,开发前期投入太多

我也没有用过什么框架,都是自己手写,模板就用smarty

来源:nba直播
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息