问答详情
源自:4-1 消息摘要算法MAC实现与应用

遇到了问题,请大神解答

http://tool.oschina.net/encrypt?type=2http://img.mukewang.com/595782f20001cf6d09631040.jpg

与视频中的结果不一致啊。

提问者:cc2424 2017-07-01 19:10

个回答

  • 蝶梦疏妄
    2017-10-15 20:35:44

    可能是转义的时候出的问题

    因为我

    public static void bcHmacMD5() {

    HMac hmac = new HMac(new MD5Digest());

    hmac.init(new KeyParameter(org.bouncycastle.util.encoders.Hex.decode("")));

    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));


    }

    得到的结果: bc hmacMD5:b87f98c51d1df76cfb5348c5619ad14f

    //img3.sycdn.imooc.com/59e355b70001dda208290557.jpg一样

    另外在测试这个页面的时候发现"aaaaaaaaaaaa"也可以作为密钥

    可能是为了防止报错,那个页面的算法为了解析密钥的时候还将密钥中的元素全部进行转义了一遍