import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
public class HMACSHA1 {
private static final String HMAC_SHA1 = "HmacSHA1";
/**
* 生成签名数据
*
* @param data 待加密的数据
* @param key 加密使用的key
* @return 生成MD5编码的字符串
* @throws InvalidKeyException
* @throws NoSuchAlgorithmException
*/
public static String getSignature(byte[] data, byte[] key) throws InvalidKeyException, NoSuchAlgorithmException {
SecretKeySpec signingKey = new SecretKeySpec(key, HMAC_SHA1);
Mac mac = Mac.getInstance(HMAC_SHA1);
mac.init(signingKey);
byte[] rawHmac = mac.doFinal(data);
return MD5.encode(rawHmac);
}
}
分享到:
相关推荐
目前很多应用的SDK都开始需要Authorization(鉴权),然网络浩瀚,杂乱无章。终于找到了可用的方案,已为腾讯官方做了一个C#的SDK,大家放心copy。
C语言版的实现HMAC-SHA1和base64编码,已经对C++做了兼容处理,在VS下运行main.c代码,可以得到经过HMAC-SHA1处理后的结果,并且可以运行里面的base64编码函数得到想要的结果,可以用于连接阿里云MQTT
对数据进行HMAC-SHA256或HMAC-SHA1加密的C代码,VC2008工程。加密代码来自网络,进行了适当整合。
收集了一些RFC2104和hmac-sha1实现的资料,欢迎童鞋们一起学习。
HMAC是哈希运算消息认证码 (Hash-based Message Authentication Code),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息...HMAC-SHA1签名算法是一种常用的签名算法,用于对一段信息进行生成签名摘要。
HMAC-SHA1/SHA256/MD5标准dll,参数和返回值全是string型,完美支持其他语言调用,亲测OK,增加了声明类型
hmac-sha256.js 资源文件,jwt时用到
腾讯云·短信·TC3-HMAC-SHA256API3.0签名V3算法带发送例子
HMAC-SHA256 implementation
实现HMAC-SHA1签名再Base64转码: (1)HMACSHA1.c:实现HMAC-SHA1签名算法 (2)base64.c:base64编码算法。
HMAC-SHA1是一种安全的基于加密hash函数和共享密钥的消息认证协议。
SHA256 和 HMAC-SHA256 的C语言实现,只有一个文件,无库依赖。使用方法见源码底部注释说明
强悍,简单明了的HMAC-SHA-1生成加密的消息摘要算法。需要Key作为参数,生成摘要的长度大小可调。经过测试。
HMAC-SHA1 含密钥的安全哈希算法。为了更安全健壮,采用了密钥的安全哈希算法。
附件为将制定的字符串进行Base64加密,然后对加密后的结果通过指定的key和value进行HMAC-SHA1签名,并将签名后的值赋值给sign,例如: encodeparam = Base64(approvestatus=1&channelid=dingding&doctorid=1&...
支持的算法: 算法密钥长度aes-128-cbc-hmac-sha-256 32 aes-192-cbc-hmac-sha-384 48 aes-256-cbc-hmac-sha-512 56 aes-256-cbc-hmac-sha-384 64安装 $ npm install --save aes-cbc-hmac-sha2用法创建和使用密码/...
用于微信小程序中所需要的SHA256加密,放在小程序里面使用,不用改动
HMAC-SHA1签名demo,已完成测试
hmac using SHA algorithm source code...