MD加密内容

来源:2-2 MD算法实现

少艾

2016-06-26 23:05


md4加密的算法中:update方法是什么意思?

doFinal方法是什么意思?

写回答 关注

2回答

  • 黑白K
    2016-06-27 11:08:23
    已采纳

    创建一个实例对象之后,调用实例对象的update()方法,将原文信息更新到摘要信息中,获取摘要信息的长度,然后调用实例对象的doFinal()方法,执行加密信息的长度以及起始位置。最终的加密信息是通过调用doFinal()方法执行后为结果的。

    少艾

    再问一个问题,mac加密是有三个步骤:生成秘钥,获得秘钥,还原秘钥,尤其是还原秘钥是怎么理解的?

    2016-06-27 17:53:03

    共 2 条回复 >

  • 黑白K
    2016-06-27 20:20:38

    回复 少艾:你说的是 SecretKey restoreSecretKey=new SecretKeySpec(key,”HmacMD5”)这一行代码吗,我也很疑惑。觉得应该是口误说错了吧。在JDK文档SecretKeySpec类中有两个带参数的构造方法,其中一个就是带有两个参数的,是这样写的
    “SecretKeySpec(byte[] key, String algorithm)---- 根据给定的字节数组构造一个密钥。
    其中两个参数:key - 密钥的密钥内容。复制该数组的内容来防止后续修改。
    algorithm - 跟给定的密钥内容相关联的密钥算法的名称”
    这样一来restoreSecretKey应该是做了两件事,一个就是复制key的内容,二是得到了生成key的”HmacMD5”(秘钥算法),然后根据这两个参数实例化了一个Mac对象并将其初始化(init),最后处理原文的字节数组(src.getBytes())并完成 Mac加密操作。这样一来,我觉的是不是任何加密算法都可以通过给Mac.getInstance()传递一个算法参数就可将其算法实例化为Mac加密对象呢。(我也是刚学,原理不明白)

Java实现消息摘要算法加密

Java中应用消息摘要算法进行加解密,以及他们的应用场景

25524 学习 · 40 问题

查看课程

相似问题