消息摘要加密算法MAC
来源:互联网 发布:网络用语128是什么意思 编辑:程序博客网 时间:2024/06/05 07:10
package com.imooc.security.hmac;import javax.crypto.Mac;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;import org.apache.commons.codec.binary.Hex;import org.bouncycastle.crypto.digests.MD5Digest;import org.bouncycastle.crypto.macs.HMac;import org.bouncycastle.crypto.params.KeyParameter;/** * 消息摘要加密算法 * @author Bingo_Ge * MAC融合MD/SHA-->HMAC(含有密钥的散列函数算法) */public class ImoocHmac {private static String src = "imooc security hmac";public static void main(String[] args) {jdkHmacMD5();bcHmacMD5();}public static void jdkHmacMD5() {try {//KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD5"); //初始化//SecretKey secretKey = keyGenerator.generateKey(); // 生成密钥//byte[] key = secretKey.getEncoded(); //获得密钥byte[] key = Hex.decodeHex(new char[]{'a','a','a','a','a','a','a','a','a','a'}); //自定义密钥SecretKey restoreSecretKey = new SecretKeySpec(key, "HmacMD5"); //还原密钥Mac mac = Mac.getInstance(restoreSecretKey.getAlgorithm()); //实例化macmac.init(restoreSecretKey); //初始化macbyte[] hmacMD5Bytes = mac.doFinal(src.getBytes()); //执行摘要System.out.println("jdk hmacMD5:" + Hex.encodeHexString(hmacMD5Bytes));} catch (Exception e) {e.printStackTrace();}}public static void bcHmacMD5() {HMac hMac = new HMac(new MD5Digest());hMac.init(new KeyParameter(org.bouncycastle.util.encoders.Hex.decode("aaaaaaaaaa"))); //自定义密钥hMac.update(src.getBytes(), 0, src.getBytes().length);byte[] hMacMD5Bytes = new byte[hMac.getMacSize()];hMac.doFinal(hMacMD5Bytes, 0);System.out.println("bc hMacMD5:" + org.bouncycastle.util.encoders.Hex.toHexString(hMacMD5Bytes));}}
0 0
- 消息摘要加密算法MAC
- 消息摘要加密算法MD
- 消息摘要加密算法SHA
- 消息摘要-mac
- JAVA加密算法实现用例 消息摘要
- 对称、非对称加密算法、消息摘要算法、数字证书详解
- 消息摘要算法-MAC算法系列
- 消息摘要算法-MAC算法系列
- 消息摘要算法-MAC算法系列
- 消息摘要算法MAC实现与应用
- 消息摘要、MAC(消息认证码)、数字签名扫盲贴
- Imooc_Java实现消息摘要算法加密_4-1 消息摘要算法MAC实现与应用
- md5-sha 摘要加密算法
- MD5摘要加密算法
- java 基于MAC(消息验证码)的数字摘要
- 消息摘要(单项加密)之MD,SHA,MAC,RipeMD
- Base64算法,消息摘要算法-Base64,MD5,SHA,MAC加密
- 消息摘要
- git命令
- java Static关键字
- FFMPEG中结构体
- [Android] TextView实现走马灯效果
- linux下查找某个文件位置的方法
- 消息摘要加密算法MAC
- Linux命令--mkdir
- 《数据结构和算法》之递归(斐波那契数列)
- c++中的类模板
- 示例:设置程序为开机启动项
- 学习笔记——Kaggle_Digit Recognizer (KNN算法 Python实现)
- c#=>lambda表达式的理解
- 每日论文Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
- linux 下火狐打开缓慢解决的方法