java HMACSHA1与php hash_hmac 函数
2017-10-17 19:05
357 查看
package com.neusoft.QDrive.utils;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
public class HMACSHA1 {
private static final String MAC_NAME = "HmacSHA1";
private static final String ENCODING = "UTF-8";
/*
* 展示了一个生成指定算法密钥的过程 初始化HMAC密钥
* @return
* @throws Exception
*
public static String initMacKey() throws Exception {
//得到一个 指定算法密钥的密钥生成器
KeyGenerator KeyGenerator keyGenerator =KeyGenerator.getInstance(MAC_NAME);
//生成一个密钥
SecretKey secretKey =keyGenerator.generateKey();
return null;
}
*/
/**
* 使用 HMAC-SHA1 签名方法对对encryptText进行签名
* @param encryptText 被签名的字符串
* @param encryptKey 密钥
* @return
* @throws Exception
*/
public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception
{
byte[] data=encryptKey.getBytes(ENCODING);
//根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称
SecretKey secretKey = new SecretKeySpec(data, MAC_NAME);
//生成一个指定 Mac 算法 的 Mac 对象
Mac mac = Mac.getInstance(MAC_NAME);
//用给定密钥初始化 Mac 对象
mac.init(secretKey);
byte[] text = encryptText.getBytes(ENCODING);
//完成 Mac 操作
return mac.doFinal(text);
}
}
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
public class HMACSHA1 {
private static final String MAC_NAME = "HmacSHA1";
private static final String ENCODING = "UTF-8";
/*
* 展示了一个生成指定算法密钥的过程 初始化HMAC密钥
* @return
* @throws Exception
*
public static String initMacKey() throws Exception {
//得到一个 指定算法密钥的密钥生成器
KeyGenerator KeyGenerator keyGenerator =KeyGenerator.getInstance(MAC_NAME);
//生成一个密钥
SecretKey secretKey =keyGenerator.generateKey();
return null;
}
*/
/**
* 使用 HMAC-SHA1 签名方法对对encryptText进行签名
* @param encryptText 被签名的字符串
* @param encryptKey 密钥
* @return
* @throws Exception
*/
public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception
{
byte[] data=encryptKey.getBytes(ENCODING);
//根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称
SecretKey secretKey = new SecretKeySpec(data, MAC_NAME);
//生成一个指定 Mac 算法 的 Mac 对象
Mac mac = Mac.getInstance(MAC_NAME);
//用给定密钥初始化 Mac 对象
mac.init(secretKey);
byte[] text = encryptText.getBytes(ENCODING);
//完成 Mac 操作
return mac.doFinal(text);
}
}
相关文章推荐
- 使用JAVA实现PHP中hash_hmac 函数
- Java对PHP服务器hmac_sha1签名认证方法的匹配实现
- Java对PHP服务器hmac_sha1签名认证方法的匹配实现
- Java对PHP服务器hmac_sha1签名认证方法的匹配实现 的另一种方式
- Java对PHP服务器hmac_sha1签名认证方法的匹配实现
- Java对PHP服务器hmac_sha1签名认证方法的匹配实现
- java和php的hmac_sha1结果不同,求高手帮忙
- java中的php's hmac-SHA1
- php中使用hash_hmac函数实现HMAC-SHA1签名算法的来龙去脉
- PHP HmacSHA1加密 与JAVA通用
- PHP hash_hmac 加密算法的使用
- paip.函数方法回调机制跟java php python c++的实现
- PHP md5(),sha1() 函数
- php中可能用来加密字符串的函数【base64_encode()urlencode()sha1()】
- PHP内核探索 —— 变量的检索:zend_hash_find()函数
- 关于C、java、php的函数参数传递特点的分析
- js 利用iframe和location.hash跨域解决的方法,java图片上传回调JS函数跨域
- HMAC-SHA1 BASE64编码 java源代码实现
- java 实现 hmac_sha1加密
- HMAC-SHA1 java版