博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c java sha1加密解密_java HMACSHA1加密算法
阅读量:6376 次
发布时间:2019-06-23

本文共 925 字,大约阅读时间需要 3 分钟。

package phamos;

import javax.crypto.Mac;

import javax.crypto.spec.SecretKeySpec;

public class HMACSHA1 {

private static final String HMAC_SHA1 = “HmacSHA1”;

/**

* 生成签名数据

*

* @param data 待加密的数据

* @param key  加密使用的key

* @throws InvalidKeyException

* @throws NoSuchAlgorithmException

*/

public static String getSignature(String data,String key) throws Exception{

byte[] keyBytes=key.getBytes();

SecretKeySpec signingKey = new SecretKeySpec(keyBytes, HMAC_SHA1);

Mac mac = Mac.getInstance(HMAC_SHA1);

mac.init(signingKey);

byte[] rawHmac = mac.doFinal(data.getBytes());

StringBuilder sb=new StringBuilder();

for(byte b:rawHmac){

sb.append(byteToHexString(b));

}

return sb.toString();

}

private static String byteToHexString(byte ib){

char[] Digit={

‘0’,’1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,’a’,’b’,’c’,’d’,’e’,’f’

};

char[] ob=new char[2];

ob[0]=Digit[(ib>>>4)& 0X0f];

ob[1]=Digit[ib & 0X0F];

String s=new String(ob);

return s;

}

}

转载地址:http://fmvqa.baihongyu.com/

你可能感兴趣的文章
redis 介绍和常用命令
查看>>
CPU的段寄存器
查看>>
linux 安装nginx
查看>>
Kettle的概念学习系列之Kettle是什么?(一)
查看>>
Qt 3D教程(二)初步显示3D的内容
查看>>
100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)【转】
查看>>
compareTo返回值为-1 、 1 、 0 的排序问题
查看>>
Being a Good Boy in Spring Festival(杭电1850)(尼姆博弈)
查看>>
微服务间如何选择推送和拉取数据
查看>>
互联网+时代IT管理者的转型
查看>>
Linux系统调用--getrlimit()与setrlimit()函数详解【转】
查看>>
限制容器的 Block IO - 每天5分钟玩转 Docker 容器技术(29)
查看>>
cocos2dx下的A星算法
查看>>
RabbitMQ的应用场景以及基本原理介绍(转)
查看>>
Nginx:413 Request Entity Too Large解决
查看>>
飘雪代码2枚
查看>>
linux crontab详解
查看>>
HTTP 请求头 WIKI 地址
查看>>
ASP.NET CORE中使用Cookie身份认证
查看>>
Dynamics CRM 2016 Web API 消息列表
查看>>