HMAC-SHA1 java版

原创 2013年12月03日 13:23:27
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
	 * @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;
	}
}

相关文章推荐

Java对PHP服务器hmac_sha1签名认证方法的匹配实现

如果你的API服务安全认证协议中要求使用hmac_sha1方法对信息进行编码, 而你的服务是由PHP实现的,客户端是由JAVA实现的,那么为了对签名正确比对,就需要在两者之间建立能匹配的编码方式.PH...
  • iefreer
  • iefreer
  • 2012年08月14日 12:28
  • 9037

HMAC-SHA1 签名demo

  • 2016年02月20日 21:22
  • 2KB
  • 下载

hmac-sha1简单实现

  • 2011年11月10日 01:40
  • 23KB
  • 下载

php sha1 hmac

sha1 算法 安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital...
  • sole_cc
  • sole_cc
  • 2016年07月30日 18:04
  • 203

HMAC-SHA1 算法签名 亲测可用

  • 2015年08月17日 17:48
  • 31KB
  • 下载

HMAC_SHA1算法及其测试

  • 2015年04月04日 17:05
  • 14KB
  • 下载

新浪微博(十二)HMAC_SHA1签名

由于新浪微博需要用到HMAC加密算法,在这里简单介绍一下。 HMAC 根据RFC 2316(Report of the IAB,April 1998),HMAC(散列消息身份验证码: Hashed...

HMAC-SHA1签名

  • 2016年02月20日 21:37
  • 2KB
  • 下载

iOS swift 写的HMAC_SHA1和MD5加密

  • 2015年09月11日 10:12
  • 78KB
  • 下载

Qt 实现 HMAC_SHA1 哈希算法

Qt哈希算法 hmacSha1//Qt哈希算法 hmacSha1 #include QString hmacSha1(QByteArray key, QByteArray baseString) ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HMAC-SHA1 java版
举报原因:
原因补充:

(最多只允许输入30个字)