HMAC-SHA1各语言版本实现
来源:互联网 发布:电子科技集团14所 知乎 编辑:程序博客网 时间:2024/06/08 12:31
转自:http://blog.csdn.net/jiang1013nan/article/details/17318133
在各大开放平台大行其道的互联网开发潮流中,调用各平台的API接口过程中,无一例外都会用到计算签名值(sig值)。而在各种计算签名的方法中,经常被采用的就是HMAC-SHA1,现对HMAC-SHA1做一个简单的介绍:
HMAC,散列消息鉴别码,基于密钥的Hash算法认证协议。实现原理为:利用已经公开的Hash函数和私有的密钥,来生成固定长度的消息鉴别码;
SHA1、MD5等Hash算法是比较常用的不可逆Hash签名计算方法;
BASE64,将任意序列的8字节字符转换为人眼无法直接识别的符号编码的一种方法;
各个语言版本的实现为:
Python版:
import hmac
import hashlib
import base64
hmac.new(Token,data,hashlib.sha1).digest().encode('base64').rstrip()
PHP版:
base64_encode(hash_hmac("SHA1",clientStr,Token , true))
C++版(Openssl):
HMAC( EVP_sha1(),
/*key data*/ strKey.data(),
/*key len*/ strKey.size(),
/*data */(unsigned char*) strRandom.data(),
/*data len*/ strRandom.size(), digest, &digest_len))
/*key len*/ strKey.size(),
/*data */(unsigned char*) strRandom.data(),
/*data len*/ strRandom.size(), digest, &digest_len))
Shell版:
echo -n '3f88a95c532bea70' | openssl dgst -hmac '123' -sha1 -binary | base64
0 0
- HMAC-SHA1各语言版本实现
- HMAC-SHA1各语言版本实现
- QT 中实现HMAC-SHA1
- OAuth认证的 HMAC-SHA1签署 实现
- HMAC-SHA1 BASE64编码 java源代码实现
- Java HMAC-SHA1加密算法的实现
- 各种语言HMAC SHA256实现
- golang 中的md5 、hmac、sha1算法的简单实现
- 实现接口访问的HMAC-SHA1签名算法
- HMAC-SHA1 java版
- HMAC-SHA1 java版
- iOS HMAC SHA1
- hmac使用sha1
- hmac-sha1算法
- php sha1 hmac
- 使用HMAC-SHA1签名方法
- linux内核hmac-sha1使用
- MD5 SHA1 HMAC HMAC_SHA1区别
- find中的-print0和xargs中-0
- Java动态代理的实现机制
- iOS开发脚踏实地学习day17-彩票
- dom4j读写xml文件
- leetcode | Plus One
- HMAC-SHA1各语言版本实现
- 【转载】Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
- 视图控制器 的生命周期
- 设计模式概览
- \xe4\xb8\xad\xe6\x96\x87 phython 字符编码乱码问题
- Linux Shell 之 Shell 变量
- IIS7.0设置404错误页,返回500状态码
- 那些不安全的库函数
- [203]Remove Linked List Elements