首页 > 代码库 > 使用HMACSHA1算法对数据进行签名(Java版)
使用HMACSHA1算法对数据进行签名(Java版)
1 import javax.crypto.Mac; 2 import javax.crypto.SecretKey; 3 import javax.crypto.spec.SecretKeySpec; 4 5 public class HMACSHA1 { 6 7 private static final String MAC_NAME = "HmacSHA1"; 8 private static final String ENCODING = "UTF-8"; 9 10 /*11 * 展示了一个生成指定算法密钥的过程 初始化HMAC密钥 12 * @return 13 * @throws Exception14 * 15 public static String initMacKey() throws Exception {16 //得到一个 指定算法密钥的密钥生成器17 KeyGenerator KeyGenerator keyGenerator =KeyGenerator.getInstance(MAC_NAME); 18 //生成一个密钥19 SecretKey secretKey =keyGenerator.generateKey();20 return null;21 }22 */23 24 /** 25 * 使用 HMAC-SHA1 签名方法对对encryptText进行签名 26 * @param encryptText 被签名的字符串 27 * @param encryptKey 密钥 28 * @return 29 * @throws Exception 30 */ 31 public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception 32 { 33 byte[] data=http://www.mamicode.com/encryptKey.getBytes(ENCODING);34 //根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称35 SecretKey secretKey = new SecretKeySpec(data, MAC_NAME); 36 //生成一个指定 Mac 算法 的 Mac 对象37 Mac mac = Mac.getInstance(MAC_NAME); 38 //用给定密钥初始化 Mac 对象39 mac.init(secretKey); 40 41 byte[] text = encryptText.getBytes(ENCODING); 42 //完成 Mac 操作 43 return mac.doFinal(text); 44 } 45 }
使用HMACSHA1算法对数据进行签名(Java版)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。